
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int srp_main(int argc,char **argv)

{
  int iVar1;
  char *pcVar2;
  int iVar3;
  int iVar4;
  CA_DB *db;
  int iVar5;
  undefined4 *puVar6;
  char *engine;
  OPENSSL_STRING *value;
  int *piVar7;
  char **extraout_ECX;
  int iVar8;
  char *pcVar9;
  int in_GS_OFFSET;
  bool bVar10;
  undefined1 *puVar11;
  char *in_stack_ffffff64;
  int local_94;
  int local_90;
  char *local_8c;
  ENGINE *local_88;
  CONF *local_84;
  char **local_80;
  char **local_7c;
  char *local_78;
  char *local_74;
  int local_68;
  char **local_64;
  int local_60;
  char **local_5c;
  char *passin;
  char *passout;
  char *row [6];
  
  pcVar9 = (char *)0x0;
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  passin = (char *)0x0;
  passout = (char *)0x0;
  puVar11 = srp_options;
  pcVar2 = opt_init(argc,argv,(OPTIONS *)srp_options);
  local_80 = (char **)0x0;
  local_7c = (char **)0x0;
  local_74 = (char *)0x0;
  local_78 = (char *)0x0;
  local_84 = (CONF *)0x0;
  local_8c = (char *)0x0;
  local_90 = -1;
  local_94 = 0;
  local_88 = (ENGINE *)0x0;
LAB_0006abe0:
  iVar3 = opt_next();
  if (iVar3 != 0) goto LAB_0006abe9;
LAB_0006ac30:
  iVar4 = opt_num_rest();
  local_64 = opt_rest();
  if ((local_80 != (char **)0x0) && (local_7c != (char **)0x0)) {
    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";
    pcVar2 = puVar11;
    goto LAB_0006aee4;
  }
  if (local_90 == -1) {
    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";
    goto LAB_0006b69b;
  }
  if (local_90 - 6U < 3) {
    if (iVar4 == 0) {
      pcVar9 = "Need at least one user.\n";
      goto LAB_0006b69b;
    }
    local_5c = (char **)*local_64;
    local_64 = local_64 + 1;
  }
  else {
    local_5c = (char **)0x0;
  }
  if ((local_8c == (char *)0x0 && local_84 == (CONF *)0x0) || (iVar4 == 1)) {
    pcVar2 = (char *)&passin;
    iVar4 = app_passwd(local_8c,(char *)local_84,(char **)pcVar2,&passout);
    if (iVar4 == 0) {
      pcVar9 = "Error getting passwords\n";
      goto LAB_0006aee4;
    }
    if (local_80 == (char **)0x0) {
      if (local_7c == (char **)0x0) {
        local_7c = (char **)default_config_file;
      }
      if (local_94 == 0) {
        local_84 = app_load_config((char *)local_7c);
        if (local_84 == (CONF *)0x0) {
          db = (CA_DB *)0x0;
          goto LAB_0006af12;
        }
      }
      else {
        pcVar2 = (char *)local_7c;
        BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c);
        local_84 = app_load_config((char *)local_7c);
        if (local_84 == (CONF *)0x0) {
          db = (CA_DB *)0x0;
          local_8c = (char *)0x1;
          goto LAB_0006b002;
        }
      }
      if (((char **)default_config_file == local_7c) ||
         (iVar4 = app_load_modules(local_84), iVar4 != 0)) {
        if (pcVar9 == (char *)0x0) {
          if (local_94 == 0) {
            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");
            if (pcVar9 != (char *)0x0) {
              app_RAND_load_conf(local_84,"srp");
              goto LAB_0006b733;
            }
          }
          else {
            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);
            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");
            if (pcVar9 != (char *)0x0) {
              app_RAND_load_conf(local_84,"srp");
              goto LAB_0006bd46;
            }
          }
          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");
          db = (CA_DB *)0x0;
        }
        else {
          app_RAND_load_conf(local_84,"srp");
          if (local_94 == 0) {
LAB_0006b733:
            pcVar2 = "srpvfile";
            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");
            if (local_80 != (char **)0x0) goto LAB_0006acce;
          }
          else {
LAB_0006bd46:
            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);
            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");
            if (local_80 != (char **)0x0) goto LAB_0006b095;
          }
          db = (CA_DB *)0x0;
          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");
        }
      }
      else {
        db = (CA_DB *)0x0;
      }
      goto LAB_0006aef8;
    }
    local_84 = (CONF *)0x0;
    if (local_94 == 0) {
LAB_0006acce:
      db = load_index((char *)local_80,(DB_ATTR *)0x0);
      if (db == (CA_DB *)0x0) goto LAB_0006af12;
    }
    else {
LAB_0006b095:
      pcVar2 = (char *)local_80;
      BIO_printf((BIO *)bio_err,"Trying to read SRP verifier file \"%s\"\n",local_80);
      db = load_index((char *)local_80,(DB_ATTR *)0x0);
      if (db == (CA_DB *)0x0) goto LAB_0006b0c2;
    }
    iVar4 = -1;
    local_8c = (char *)0xffffffff;
    for (iVar8 = 0; iVar5 = OPENSSL_sk_num(db->db->data), iVar8 < iVar5; iVar8 = iVar8 + 1) {
      puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar8);
      if (*(char *)*puVar6 == 'I') {
        if (((iVar4 < 0) && (local_78 != (char *)0x0)) &&
           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)) {
          iVar4 = iVar8;
        }
        local_8c = (char *)iVar8;
        if (1 < local_94) {
          print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);
        }
      }
    }
    if (local_94 == 0) {
      if (-1 < iVar4) {
        local_60 = OPENSSL_sk_value(db->db->data,iVar4);
        goto LAB_0006b10d;
      }
      if (((int)local_8c < 1) || (iVar4 = SRP_get_default_gN(local_78), iVar4 != 0)) {
LAB_0006b105:
        local_60 = 0;
        goto LAB_0006b10d;
      }
LAB_0006bb9e:
      BIO_printf((BIO *)bio_err,"No g and N value for index \"%s\"\n",local_78,0);
      goto LAB_0006aef8;
    }
    BIO_printf((BIO *)bio_err,"Database initialised\n");
    if (iVar4 < 0) {
      if ((0 < (int)local_8c) && (iVar4 = SRP_get_default_gN(local_78), iVar4 == 0))
      goto LAB_0006bb9e;
      BIO_printf((BIO *)bio_err,"Database has no g N information.\n");
      if (local_94 < 2) goto LAB_0006b105;
      local_60 = 0;
    }
    else {
      local_60 = OPENSSL_sk_value(db->db->data,iVar4);
      if (local_94 == 1) goto LAB_0006b10d;
      print_entry((CA_DB *)&db->db,iVar4,0x8fa48,in_stack_ffffff64);
    }
    BIO_printf((BIO *)bio_err,"Starting user processing\n");
LAB_0006b10d:
    local_8c = (char *)0x0;
    local_68 = 0;
    while ((local_5c != (char **)0x0 || (local_90 == 9))) {
      if ((1 < local_94) && (local_5c != (char **)0x0)) {
        pcVar2 = (char *)local_5c;
        BIO_printf((BIO *)bio_err,"Processing user \"%s\"\n",local_5c);
        iVar4 = get_index(db,(char *)local_5c,'U');
        if (-1 < iVar4) {
LAB_0006b199:
          print_user(db,iVar4,(int)in_stack_ffffff64);
          goto LAB_0006b1a4;
        }
        if (local_90 == 9) {
LAB_0006b5bd:
          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);
          local_68 = local_68 + 1;
          pcVar2 = (char *)local_5c;
          goto LAB_0006b1bf;
        }
        if (local_90 != 6) goto LAB_0006b283;
LAB_0006b2d2:
        row[1] = (char *)0x0;
        row[2] = (char *)0x0;
        row[5] = (char *)0x0;
        if (local_60 == 0) {
          pcVar2 = (char *)0x0;
          pcVar9 = local_78;
        }
        else {
          pcVar2 = *(char **)(local_60 + 4);
          pcVar9 = *(char **)(local_60 + 8);
        }
        pcVar9 = srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94);
        if (pcVar9 == (char *)0x0) {
          BIO_printf((BIO *)bio_err,
                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)
          ;
          local_68 = local_68 + 1;
        }
        else {
          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);
          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);
          pcVar2 = (char *)0x1c0;
          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);
          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&
             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {
            if (local_74 != (char *)0x0) {
              pcVar2 = (char *)0x1c8;
              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);
              if (row[5] == (char *)0x0) goto LAB_0006b979;
            }
            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");
            iVar4 = 0;
            do {
              value[iVar4] = row[iVar4];
              iVar4 = iVar4 + 1;
            } while (iVar4 != 6);
            value[6] = (OPENSSL_STRING)0x0;
            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);
            if (iVar4 != 0) goto LAB_0006b430;
            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");
            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);
            CRYPTO_free(value);
          }
LAB_0006b979:
          CRYPTO_free(row[3]);
          CRYPTO_free(row[4]);
          CRYPTO_free(row[5]);
          CRYPTO_free(row[0]);
          CRYPTO_free(row[1]);
          CRYPTO_free(row[2]);
        }
        goto LAB_0006b570;
      }
      iVar4 = get_index(db,(char *)local_5c,'U');
      if (-1 < iVar4) {
        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;
        if (local_90 == 6) goto LAB_0006b445;
        if (local_90 != 8) goto LAB_0006b225;
LAB_0006b487:
        piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4);
        if (*(char *)*piVar7 == 'v') {
          pcVar2 = "user \"%s\" already updated, operation ignored.\n";
          goto LAB_0006b29c;
        }
        if (*(char *)*piVar7 == 'V') {
          if (local_94 != 0) {
            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);
          }
          iVar8 = get_index(db,(char *)piVar7[4],'I');
          if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {
            pcVar9 = (char *)0x0;
            pcVar2 = (char *)piVar7[4];
          }
          else {
            pcVar9 = *(char **)(iVar4 + 4);
            pcVar2 = *(char **)(iVar4 + 8);
          }
          pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,
                                   pcVar9,passin,local_94);
          if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;
          pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";
        }
        else {
LAB_0006b4b6:
          if (local_94 != 0) {
            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);
          }
          if (local_60 == 0) {
            local_8c = (char *)0x0;
            pcVar2 = (char *)0x0;
          }
          else {
            local_8c = *(char **)(local_60 + 4);
            pcVar2 = *(char **)(local_60 + 8);
          }
          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),
                                   pcVar2,local_8c,passout,local_94);
          if (pcVar9 != (char *)0x0) {
            *(undefined1 *)*piVar7 = 0x76;
            pcVar2 = (char *)0x213;
            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);
            piVar7[4] = (int)pcVar9;
            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&
               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {
              if (local_74 != (char *)0x0) {
                pcVar2 = (char *)0x21b;
                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);
                piVar7[5] = (int)pcVar9;
                if (pcVar9 == (char *)0x0) goto LAB_0006b570;
              }
LAB_0006b430:
              local_8c = (char *)0x1;
              goto LAB_0006b1bf;
            }
LAB_0006b570:
            local_8c = (char *)0x1;
            goto LAB_0006b578;
          }
          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";
          local_64 = extraout_ECX;
        }
        BIO_printf((BIO *)bio_err,pcVar2,local_5c,local_64);
        local_68 = local_68 + 1;
        if (local_94 != 0) {
          local_8c = (char *)0x1;
          goto LAB_0006b596;
        }
        goto LAB_0006af12;
      }
LAB_0006b1a4:
      if (local_90 == 9) {
        if (local_5c == (char **)0x0) {
          BIO_printf((BIO *)bio_err,"List all users\n");
          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {
            print_user(db,iVar4,(int)in_stack_ffffff64);
          }
        }
        else if (iVar4 < 0) goto LAB_0006b5bd;
      }
      else if (local_90 == 6) {
        if (iVar4 < 0) goto LAB_0006b2d2;
LAB_0006b445:
        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);
        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);
        local_8c = (char *)0x1;
        *(undefined1 *)*puVar6 = 0x56;
        pcVar2 = (char *)local_5c;
      }
      else {
LAB_0006b283:
        if (local_90 == 8) {
          if (-1 < iVar4) goto LAB_0006b487;
          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";
LAB_0006b29c:
          BIO_printf((BIO *)bio_err,pcVar2,local_5c);
          local_68 = local_68 + 1;
          pcVar2 = (char *)local_5c;
        }
        else {
LAB_0006b225:
          if (local_90 == 7) {
            if (iVar4 < 0) {
              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",
                         local_5c);
              local_68 = local_68 + 1;
              pcVar2 = (char *)local_5c;
            }
            else {
              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);
              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);
              local_8c = (char *)0x1;
              *(undefined1 *)*puVar6 = 0x52;
              pcVar2 = (char *)local_5c;
            }
          }
        }
      }
LAB_0006b1bf:
      local_5c = (char **)*local_64;
      local_64 = local_64 + 1;
      if (local_5c == (char **)0x0) break;
    }
    if (local_94 != 0) {
      BIO_printf((BIO *)bio_err,"User procession done.\n",pcVar2);
    }
    if (local_8c != (char *)0x0) {
      for (; iVar4 = OPENSSL_sk_num(db->db->data), iVar3 < iVar4; iVar3 = iVar3 + 1) {
        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar3);
        if ((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0)) {
          print_user(db,iVar3,(int)in_stack_ffffff64);
        }
      }
      if (local_94 != 0) {
        BIO_printf((BIO *)bio_err,"Trying to update srpvfile.\n");
        iVar3 = save_index((char *)local_80,"new",db);
        if (iVar3 != 0) {
          BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");
          iVar3 = rotate_index((char *)local_80,"new","old");
          if (iVar3 != 0) {
            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");
            goto LAB_0006b7f8;
          }
        }
        if (local_68 != 0) goto LAB_0006b596;
        goto LAB_0006b002;
      }
      iVar3 = save_index((char *)local_80,"new",db);
      if ((iVar3 != 0) && (iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0))
      goto LAB_0006b7f8;
      CRYPTO_free(passin);
      CRYPTO_free(passout);
      goto LAB_0006b057;
    }
LAB_0006b7f8:
    local_8c = (char *)(uint)(local_68 != 0);
LAB_0006b578:
    if (local_68 != 0) {
      if (local_94 != 0) {
LAB_0006b596:
        BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);
        goto LAB_0006b002;
      }
      goto LAB_0006b01a;
    }
LAB_0006aeb8:
    if (local_94 == 0) goto LAB_0006b01a;
    goto LAB_0006b002;
  }
  pcVar9 = "-passin, -passout arguments only valid with one user.\n";
LAB_0006b69b:
  BIO_printf((BIO *)bio_err,pcVar9,puVar11);
LAB_0006aed6:
  pcVar9 = "%s: Use -help for summary.\n";
LAB_0006aee4:
  db = (CA_DB *)0x0;
  BIO_printf((BIO *)bio_err,pcVar9,pcVar2);
  local_84 = (CONF *)0x0;
LAB_0006aef8:
  if (local_94 == 0) {
LAB_0006af12:
    CRYPTO_free(passin);
    CRYPTO_free(passout);
  }
  else {
LAB_0006b0c2:
    local_8c = (char *)0x1;
LAB_0006b002:
    BIO_printf((BIO *)bio_err,"SRP terminating with code %d.\n",local_8c);
LAB_0006b01a:
    CRYPTO_free(passin);
    CRYPTO_free(passout);
    if (local_8c == (char *)0x0) goto LAB_0006ae29;
  }
LAB_0006b057:
  ERR_print_errors((BIO *)bio_err);
  local_8c = (char *)0x1;
LAB_0006ae29:
  NCONF_free((CONF *)local_84);
  free_index(db);
  release_engine(local_88);
  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return (uint)local_8c;
LAB_0006abe9:
  while (iVar3 < 10) {
    if (5 < iVar3) {
      bVar10 = local_90 == -1;
      local_90 = iVar3;
      if (bVar10) goto LAB_0006abe0;
      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";
      puVar11 = pcVar2;
      goto LAB_0006b69b;
    }
    if (iVar3 == 2) {
      local_94 = local_94 + 1;
      goto LAB_0006abe0;
    }
    if (iVar3 < 3) {
      if (iVar3 == -1) goto LAB_0006aed6;
      if (iVar3 != 1) goto LAB_0006abe0;
      opt_help((OPTIONS *)srp_options);
      if (local_94 != 0) {
        local_8c = (char *)0x0;
        db = (CA_DB *)0x0;
        local_84 = (CONF *)0x0;
        goto LAB_0006b002;
      }
      db = (CA_DB *)0x0;
      CRYPTO_free(passin);
      CRYPTO_free(passout);
      local_8c = (char *)0x0;
      local_84 = (CONF *)0x0;
      goto LAB_0006ae29;
    }
    if (iVar3 == 4) {
      pcVar9 = opt_arg();
      goto LAB_0006abe0;
    }
    if (4 < iVar3) {
      local_80 = (char **)opt_arg();
      goto LAB_0006abe0;
    }
    local_7c = (char **)opt_arg();
    iVar3 = opt_next();
    if (iVar3 == 0) {
      iVar3 = 0;
      goto LAB_0006ac30;
    }
  }
  if (iVar3 == 0xd) {
    local_84 = (CONF *)opt_arg();
  }
  else if (iVar3 < 0xe) {
    if (iVar3 == 0xb) {
      local_74 = opt_arg();
    }
    else if (iVar3 < 0xc) {
      local_78 = opt_arg();
    }
    else {
      local_8c = opt_arg();
    }
  }
  else if (iVar3 == 0xe) {
    engine = opt_arg();
    local_88 = setup_engine(engine,0);
  }
  else if ((iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0)) {
    local_8c = (char *)0x1;
    db = (CA_DB *)0x0;
    local_84 = (CONF *)0x0;
    goto LAB_0006aeb8;
  }
  goto LAB_0006abe0;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

uint FUN_0006ab40(undefined4 param_1,undefined4 param_2)

{
  char *pcVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  undefined4 *puVar5;
  OPENSSL_STRING *value;
  int *piVar6;
  undefined4 *extraout_ECX;
  int iVar7;
  int iVar8;
  char *pcVar9;
  int in_GS_OFFSET;
  bool bVar10;
  undefined **ppuVar11;
  undefined4 uVar12;
  int local_94;
  int local_90;
  uint local_8c;
  undefined4 local_88;
  CONF *local_84;
  undefined **local_80;
  undefined **local_7c;
  char *local_78;
  char *local_74;
  int local_68;
  undefined4 *local_64;
  int local_60;
  undefined **local_5c;
  undefined *local_40;
  void *local_3c;
  char *local_38;
  void *local_34;
  void *local_30;
  char *local_2c;
  char *local_28;
  char *local_24;
  int local_20;
  undefined4 uStack_14;
  
  pcVar9 = (char *)0x0;
  uStack_14 = 0x6ab4b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_40 = (undefined *)0x0;
  local_3c = (void *)0x0;
  ppuVar11 = &PTR_DAT_000ba060;
  pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);
  local_80 = (undefined **)0x0;
  local_7c = (undefined **)0x0;
  local_74 = (char *)0x0;
  local_78 = (char *)0x0;
  local_84 = (CONF *)0x0;
  local_8c = 0;
  local_90 = -1;
  local_94 = 0;
  local_88 = 0;
LAB_0006abe0:
  iVar2 = FUN_00078780();
  if (iVar2 != 0) goto LAB_0006abe9;
LAB_0006ac30:
  iVar3 = FUN_00079110();
  local_64 = (undefined4 *)FUN_000790f0();
  if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {
    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";
    pcVar1 = (char *)ppuVar11;
    goto LAB_0006aee4;
  }
  if (local_90 == -1) {
    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";
    goto LAB_0006b69b;
  }
  if (local_90 - 6U < 3) {
    if (iVar3 == 0) {
      pcVar9 = "Need at least one user.\n";
      goto LAB_0006b69b;
    }
    local_5c = (undefined **)*local_64;
    local_64 = local_64 + 1;
  }
  else {
    local_5c = (undefined **)0x0;
  }
  if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {
    pcVar1 = (char *)&local_40;
    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);
    if (iVar3 == 0) {
      pcVar9 = "Error getting passwords\n";
      goto LAB_0006aee4;
    }
    if (local_80 == (undefined **)0x0) {
      if (local_7c == (undefined **)0x0) {
        local_7c = DAT_000c4598;
      }
      if (local_94 == 0) {
        local_84 = (CONF *)FUN_00075fc0(local_7c);
        if (local_84 == (CONF *)0x0) {
          iVar3 = 0;
          goto LAB_0006af12;
        }
      }
      else {
        pcVar1 = (char *)local_7c;
        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);
        local_84 = (CONF *)FUN_00075fc0(local_7c);
        if (local_84 == (CONF *)0x0) {
          iVar3 = 0;
          local_8c = 1;
          goto LAB_0006b002;
        }
      }
      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {
        if (pcVar9 == (char *)0x0) {
          if (local_94 == 0) {
            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");
            if (pcVar9 != (char *)0x0) {
              FUN_00072430(local_84,"srp");
              goto LAB_0006b733;
            }
          }
          else {
            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);
            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");
            if (pcVar9 != (char *)0x0) {
              FUN_00072430(local_84,"srp");
              goto LAB_0006bd46;
            }
          }
          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");
          iVar3 = 0;
        }
        else {
          FUN_00072430(local_84,"srp");
          if (local_94 == 0) {
LAB_0006b733:
            pcVar1 = "srpvfile";
            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");
            if (local_80 != (undefined **)0x0) goto LAB_0006acce;
          }
          else {
LAB_0006bd46:
            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);
            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");
            if (local_80 != (undefined **)0x0) goto LAB_0006b095;
          }
          iVar3 = 0;
          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");
        }
      }
      else {
        iVar3 = 0;
      }
      goto LAB_0006aef8;
    }
    local_84 = (CONF *)0x0;
    if (local_94 == 0) {
LAB_0006acce:
      iVar3 = FUN_00077180(local_80,0);
      if (iVar3 == 0) goto LAB_0006af12;
    }
    else {
LAB_0006b095:
      pcVar1 = (char *)local_80;
      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);
      iVar3 = FUN_00077180(local_80,0);
      if (iVar3 == 0) goto LAB_0006b0c2;
    }
    iVar7 = -1;
    local_8c = -1;
    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;
        iVar8 = iVar8 + 1) {
      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);
      if (*(char *)*puVar5 == 'I') {
        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&
           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {
          iVar7 = iVar8;
        }
        local_8c = iVar8;
        if (1 < local_94) {
          FUN_0006a970();
        }
      }
    }
    if (local_94 == 0) {
      if (-1 < iVar7) {
        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);
        goto LAB_0006b10d;
      }
      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {
LAB_0006b105:
        local_60 = 0;
        goto LAB_0006b10d;
      }
LAB_0006bb9e:
      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);
      goto LAB_0006aef8;
    }
    BIO_printf(DAT_000c458c,"Database initialised\n");
    if (iVar7 < 0) {
      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))
      goto LAB_0006bb9e;
      BIO_printf(DAT_000c458c,"Database has no g N information.\n");
      if (local_94 < 2) goto LAB_0006b105;
      local_60 = 0;
    }
    else {
      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);
      if (local_94 == 1) goto LAB_0006b10d;
      FUN_0006a970();
    }
    BIO_printf(DAT_000c458c,"Starting user processing\n");
LAB_0006b10d:
    local_7c = (undefined **)0x8f9d4;
    local_8c = 0;
    local_68 = 0;
    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {
      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {
        pcVar1 = (char *)local_5c;
        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);
        iVar7 = FUN_0006a9f0();
        if (-1 < iVar7) {
LAB_0006b199:
          FUN_0006aac0();
          goto LAB_0006b1a4;
        }
        if (local_90 == 9) {
LAB_0006b5bd:
          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);
          local_68 = local_68 + 1;
          pcVar1 = (char *)local_5c;
          goto LAB_0006b1bf;
        }
        if (local_90 != 6) goto LAB_0006b283;
LAB_0006b2d2:
        local_34 = (void *)0x0;
        local_30 = (void *)0x0;
        local_24 = (char *)0x0;
        if (local_60 == 0) {
          uVar12 = 0;
          pcVar1 = local_78;
        }
        else {
          uVar12 = *(undefined4 *)(local_60 + 4);
          pcVar1 = *(char **)(local_60 + 8);
        }
        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);
        if (pcVar9 == (char *)0x0) {
          BIO_printf(DAT_000c458c,
                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)
          ;
          local_68 = local_68 + 1;
        }
        else {
          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);
          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);
          pcVar1 = (char *)0x1c0;
          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);
          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)
              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {
            if (local_74 != (char *)0x0) {
              pcVar1 = (char *)0x1c8;
              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);
              if (local_24 == (char *)0x0) goto LAB_0006b979;
            }
            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");
            iVar7 = 0;
            do {
              value[iVar7] = (&local_38)[iVar7];
              iVar7 = iVar7 + 1;
            } while (iVar7 != 6);
            value[6] = (OPENSSL_STRING)0x0;
            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);
            if (iVar7 != 0) goto LAB_0006b430;
            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");
            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",
                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));
            CRYPTO_free(value);
          }
LAB_0006b979:
          CRYPTO_free(local_2c);
          CRYPTO_free(local_28);
          CRYPTO_free(local_24);
          CRYPTO_free(local_38);
          CRYPTO_free(local_34);
          CRYPTO_free(local_30);
        }
        goto LAB_0006b570;
      }
      iVar7 = FUN_0006a9f0();
      if (-1 < iVar7) {
        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;
        if (local_90 == 6) goto LAB_0006b445;
        if (local_90 != 8) goto LAB_0006b225;
LAB_0006b487:
        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);
        if (*(char *)*piVar6 == 'v') {
          pcVar1 = "user \"%s\" already updated, operation ignored.\n";
          goto LAB_0006b29c;
        }
        if (*(char *)*piVar6 == 'V') {
          if (local_94 != 0) {
            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);
          }
          iVar8 = FUN_0006a9f0();
          if ((iVar8 < 0) ||
             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))
          {
            uVar12 = 0;
            iVar7 = piVar6[4];
          }
          else {
            uVar12 = *(undefined4 *)(iVar7 + 4);
            iVar7 = *(int *)(iVar7 + 8);
          }
          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);
          if (iVar7 != 0) goto LAB_0006b4b6;
          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";
        }
        else {
LAB_0006b4b6:
          if (local_94 != 0) {
            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);
          }
          if (local_60 == 0) {
            local_8c = 0;
            uVar12 = 0;
          }
          else {
            local_8c = *(undefined4 *)(local_60 + 4);
            uVar12 = *(undefined4 *)(local_60 + 8);
          }
          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);
          if (pcVar9 != (char *)0x0) {
            *(undefined1 *)*piVar6 = 0x76;
            pcVar1 = (char *)0x213;
            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);
            piVar6[4] = (int)pcVar9;
            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&
               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {
              if (local_74 != (char *)0x0) {
                pcVar1 = (char *)0x21b;
                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);
                piVar6[5] = (int)pcVar9;
                if (pcVar9 == (char *)0x0) goto LAB_0006b570;
              }
LAB_0006b430:
              local_8c = 1;
              goto LAB_0006b1bf;
            }
LAB_0006b570:
            local_8c = 1;
            goto LAB_0006b578;
          }
          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";
          local_64 = extraout_ECX;
        }
        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);
        local_68 = local_68 + 1;
        if (local_94 != 0) {
          local_8c = 1;
          goto LAB_0006b596;
        }
        goto LAB_0006af12;
      }
LAB_0006b1a4:
      if (local_90 == 9) {
        if (local_5c == (undefined **)0x0) {
          BIO_printf(DAT_000c458c,"List all users\n");
          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),
              iVar7 < iVar8; iVar7 = iVar7 + 1) {
            FUN_0006aac0();
          }
        }
        else if (iVar7 < 0) goto LAB_0006b5bd;
      }
      else if (local_90 == 6) {
        if (iVar7 < 0) goto LAB_0006b2d2;
LAB_0006b445:
        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);
        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);
        local_8c = 1;
        *(undefined1 *)*puVar5 = 0x56;
        pcVar1 = (char *)local_5c;
      }
      else {
LAB_0006b283:
        if (local_90 == 8) {
          if (-1 < iVar7) goto LAB_0006b487;
          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";
LAB_0006b29c:
          BIO_printf(DAT_000c458c,pcVar1,local_5c);
          local_68 = local_68 + 1;
          pcVar1 = (char *)local_5c;
        }
        else {
LAB_0006b225:
          if (local_90 == 7) {
            if (iVar7 < 0) {
              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)
              ;
              local_68 = local_68 + 1;
              pcVar1 = (char *)local_5c;
            }
            else {
              puVar5 = (undefined4 *)
                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);
              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);
              local_8c = 1;
              *(undefined1 *)*puVar5 = 0x52;
              pcVar1 = (char *)local_5c;
            }
          }
        }
      }
LAB_0006b1bf:
      local_5c = (undefined **)*local_64;
      local_64 = local_64 + 1;
      if (local_5c == (undefined **)0x0) break;
    }
    if (local_94 != 0) {
      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);
    }
    if (local_8c != 0) {
      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;
          iVar2 = iVar2 + 1) {
        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);
        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {
          FUN_0006aac0();
        }
      }
      if (local_94 != 0) {
        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");
        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);
        if (iVar2 != 0) {
          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");
          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");
          if (iVar2 != 0) {
            BIO_printf(DAT_000c458c,"srpvfile updated.\n");
            goto LAB_0006b7f8;
          }
        }
        if (local_68 != 0) goto LAB_0006b596;
        goto LAB_0006b002;
      }
      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);
      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))
      goto LAB_0006b7f8;
      CRYPTO_free(local_40);
      uVar12 = 0x25d;
      CRYPTO_free(local_3c);
      goto LAB_0006b057;
    }
LAB_0006b7f8:
    local_8c = (uint)(local_68 != 0);
LAB_0006b578:
    if (local_68 != 0) {
      if (local_94 != 0) {
LAB_0006b596:
        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);
        goto LAB_0006b002;
      }
      goto LAB_0006b01a;
    }
LAB_0006aeb8:
    if (local_94 == 0) goto LAB_0006b01a;
    goto LAB_0006b002;
  }
  pcVar9 = "-passin, -passout arguments only valid with one user.\n";
LAB_0006b69b:
  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);
LAB_0006aed6:
  pcVar9 = "%s: Use -help for summary.\n";
LAB_0006aee4:
  iVar3 = 0;
  BIO_printf(DAT_000c458c,pcVar9,pcVar1);
  local_84 = (CONF *)0x0;
LAB_0006aef8:
  if (local_94 == 0) {
LAB_0006af12:
    local_7c = (undefined **)0x8f9d4;
    CRYPTO_free(local_40);
    uVar12 = 0x25d;
    CRYPTO_free(local_3c);
  }
  else {
LAB_0006b0c2:
    local_8c = 1;
LAB_0006b002:
    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);
LAB_0006b01a:
    local_7c = (undefined **)0x8f9d4;
    CRYPTO_free(local_40);
    uVar12 = 0x25d;
    CRYPTO_free(local_3c);
    if (local_8c == 0) goto LAB_0006ae29;
  }
LAB_0006b057:
  ERR_print_errors(DAT_000c458c);
  local_8c = 1;
LAB_0006ae29:
  NCONF_free(local_84);
  FUN_00074e20(iVar3,local_7c,uVar12);
  FUN_00074230(local_88);
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0007d010();
  }
  return local_8c;
LAB_0006abe9:
  while (iVar2 < 10) {
    if (5 < iVar2) {
      bVar10 = local_90 == -1;
      local_90 = iVar2;
      if (bVar10) goto LAB_0006abe0;
      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";
      ppuVar11 = (undefined **)pcVar1;
      goto LAB_0006b69b;
    }
    if (iVar2 == 2) {
      local_94 = local_94 + 1;
      goto LAB_0006abe0;
    }
    if (iVar2 < 3) {
      if (iVar2 == -1) goto LAB_0006aed6;
      if (iVar2 != 1) goto LAB_0006abe0;
      FUN_00079140(&PTR_DAT_000ba060);
      if (local_94 != 0) {
        local_8c = 0;
        iVar3 = 0;
        local_84 = (CONF *)0x0;
        goto LAB_0006b002;
      }
      local_7c = (undefined **)0x8f9d4;
      iVar3 = 0;
      CRYPTO_free(local_40);
      uVar12 = 0x25d;
      CRYPTO_free(local_3c);
      local_8c = 0;
      local_84 = (CONF *)0x0;
      goto LAB_0006ae29;
    }
    if (iVar2 == 4) {
      pcVar9 = (char *)FUN_00078b30();
      goto LAB_0006abe0;
    }
    if (4 < iVar2) {
      local_80 = (undefined **)FUN_00078b30();
      goto LAB_0006abe0;
    }
    local_7c = (undefined **)FUN_00078b30();
    iVar2 = FUN_00078780();
    if (iVar2 == 0) {
      iVar2 = 0;
      goto LAB_0006ac30;
    }
  }
  if (iVar2 == 0xd) {
    local_84 = (CONF *)FUN_00078b30();
  }
  else if (iVar2 < 0xe) {
    if (iVar2 == 0xb) {
      local_74 = (char *)FUN_00078b30();
    }
    else if (iVar2 < 0xc) {
      local_78 = (char *)FUN_00078b30();
    }
    else {
      local_8c = FUN_00078b30();
    }
  }
  else if (iVar2 == 0xe) {
    uVar12 = FUN_00078b30();
    local_88 = FUN_00074050(uVar12,0);
  }
  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {
    local_8c = 1;
    iVar3 = 0;
    local_84 = (CONF *)0x0;
    goto LAB_0006aeb8;
  }
  goto LAB_0006abe0;
}


PUSH EBP
PUSH EDI
XOR EDI,EDI
PUSH ESI
PUSH EBX
CALL 0x0002c7d0
ADD EBX,0x51f2d
SUB ESP,0x90
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x80],EAX
XOR EAX,EAX
MOV dword ptr [ESP + 0x60],0x0
MOV dword ptr [ESP + 0x64],0x0
LEA ESI,[EBX + 0xffffd5e8]
PUSH ESI
PUSH dword ptr [ESP + 0xac]
PUSH dword ptr [ESP + 0xac]
CALL 0x00077e50
MOV dword ptr [ESP + 0x3c],EAX
ADD ESP,0x10
MOV dword ptr [ESP + 0x1c],0x0
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x28],0x0
MOV dword ptr [ESP + 0x24],0x0
MOV dword ptr [ESP + 0x18],0x0
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0xc],0xffffffff
MOV dword ptr [ESP + 0x8],0x0
MOV dword ptr [ESP + 0x14],0x0
NOP
CALL 0x00078780
TEST EAX,EAX
JZ 0x0006ac30
CMP EAX,0x9
JG 0x0006ad90
CMP EAX,0x6
JGE 0x0006af90
CMP EAX,0x2
JZ 0x0006af80
JLE 0x0006adc0
CMP EAX,0x4
JZ 0x0006af70
JG 0x0006af40
CALL 0x00078b30
MOV dword ptr [ESP + 0x20],EAX
CALL 0x00078780
TEST EAX,EAX
JNZ 0x0006abe9
LEA ESI,[ESI]
NOP
MOV EBP,EAX
CALL 0x00079110
MOV ESI,EAX
CALL 0x000790f0
MOV dword ptr [ESP + 0x38],EAX
MOV EAX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0006ac56
MOV EAX,dword ptr [ESP + 0x20]
TEST EAX,EAX
JNZ 0x0006b5e0
CMP dword ptr [ESP + 0xc],-0x1
JZ 0x0006ba66
MOV EAX,dword ptr [ESP + 0xc]
SUB EAX,0x6
CMP EAX,0x2
JBE 0x0006b071
MOV dword ptr [ESP + 0x40],0x0
MOV EAX,dword ptr [ESP + 0x10]
OR EAX,dword ptr [ESP + 0x18]
JZ 0x0006ac8c
CMP ESI,0x1
JNZ 0x0006b692
LEA EAX,[ESP + 0x60]
PUSH EAX
LEA EAX,[ESP + 0x60]
PUSH EAX
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x1c]
CALL 0x00075b40
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0006b80c
MOV ECX,dword ptr [ESP + 0x1c]
TEST ECX,ECX
JZ 0x0006b6b1
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x18],0x0
TEST EAX,EAX
JNZ 0x0006b08f
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [ESP + 0x28]
CALL 0x00077180
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x0006bb4e
LEA EAX,[EDI + 0x4]
MOV ECX,0xffffffff
MOV dword ptr [ESP + 0x2c],EBP
XOR ESI,ESI
MOV dword ptr [ESP + 0x20],EAX
LEA EAX,[EBX + 0xfffd2f8b]
MOV EBP,ECX
MOV dword ptr [ESP + 0x10],0xffffffff
MOV dword ptr [ESP + 0x30],EAX
JMP 0x0006ad1b
ADD ESI,0x1
MOV EAX,dword ptr [EDI + 0x4]
SUB ESP,0xc
PUSH dword ptr [EAX + 0x4]
CALL 0x0002b920
ADD ESP,0x10
CMP ESI,EAX
JGE 0x0006b0d9
MOV EAX,dword ptr [EDI + 0x4]
SUB ESP,0x8
PUSH ESI
PUSH dword ptr [EAX + 0x4]
CALL 0x00027140
ADD ESP,0x10
MOV EDX,dword ptr [EAX]
CMP byte ptr [EDX],0x49
JNZ 0x0006ad18
TEST EBP,EBP
JNS 0x0006ad6d
MOV ECX,dword ptr [ESP + 0x24]
TEST ECX,ECX
JZ 0x0006ad6d
SUB ESP,0x8
PUSH dword ptr [EAX + 0xc]
PUSH ECX
CALL 0x0002bce0
ADD ESP,0x10
TEST EAX,EAX
CMOVZ EBP,ESI
CMP dword ptr [ESP + 0x8],0x1
MOV dword ptr [ESP + 0x10],ESI
JLE 0x0006ad18
MOV ECX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,ESI
CALL 0x0006a970
MOV dword ptr [ESP + 0x10],ESI
JMP 0x0006ad18
CMP EAX,0xd
JZ 0x0006af60
JG 0x0006ae70
CMP EAX,0xb
JZ 0x0006af50
JG 0x0006afc8
CALL 0x00078b30
MOV dword ptr [ESP + 0x24],EAX
JMP 0x0006abe0
CMP EAX,-0x1
JZ 0x0006aed0
CMP EAX,0x1
JNZ 0x0006abe0
SUB ESP,0xc
PUSH ESI
CALL 0x00079140
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x8]
TEST EAX,EAX
JNZ 0x0006afe0
SUB ESP,0x4
LEA ESI,[EBX + 0xfffd2f5c]
XOR EDI,EDI
PUSH 0x25c
PUSH ESI
PUSH dword ptr [ESP + 0x68]
CALL 0x00028c20
ADD ESP,0xc
PUSH 0x25d
PUSH ESI
PUSH dword ptr [ESP + 0x6c]
CALL 0x00028c20
ADD ESP,0x10
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x18],0x0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x24]
CALL 0x00027a10
MOV dword ptr [ESP],EDI
CALL 0x00074e20
POP EAX
PUSH dword ptr [ESP + 0x20]
CALL 0x00074230
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x10]
MOV ECX,dword ptr [ESP + 0x7c]
XOR ECX,dword ptr GS:[0x14]
JNZ 0x0006be47
ADD ESP,0x8c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP EAX,0xe
JZ 0x0006afa8
LEA EDX,[EAX + 0xfffffa23]
CMP EDX,0x1
JA 0x0006abe0
SUB ESP,0xc
PUSH EAX
CALL 0x00072560
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0006abe0
LEA EAX,[EBX + 0xfffd2f5c]
MOV dword ptr [ESP + 0x10],0x1
XOR EDI,EDI
MOV dword ptr [ESP + 0x18],0x0
MOV dword ptr [ESP + 0x20],EAX
CMP dword ptr [ESP + 0x8],0x0
JZ 0x0006b01a
LEA ESI,[EBX + 0x7b14]
JMP 0x0006b002
LEA ESI,[EBX + 0x7b14]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc16e9]
PUSH dword ptr [ESP + 0x30]
PUSH EAX
PUSH dword ptr [ESI]
XOR EDI,EDI
CALL 0x00027240
ADD ESP,0x10
MOV dword ptr [ESP + 0x18],0x0
MOV EAX,dword ptr [ESP + 0x8]
TEST EAX,EAX
JNZ 0x0006b0c2
SUB ESP,0x4
LEA EBP,[EBX + 0xfffd2f5c]
PUSH 0x25c
PUSH EBP
PUSH dword ptr [ESP + 0x68]
CALL 0x00028c20
ADD ESP,0xc
PUSH 0x25d
PUSH EBP
PUSH dword ptr [ESP + 0x6c]
CALL 0x00028c20
ADD ESP,0x10
JMP 0x0006b057
CALL 0x00078b30
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x0006abe0
CALL 0x00078b30
MOV dword ptr [ESP + 0x28],EAX
JMP 0x0006abe0
CALL 0x00078b30
MOV dword ptr [ESP + 0x18],EAX
JMP 0x0006abe0
CALL 0x00078b30
MOV EDI,EAX
JMP 0x0006abe0
ADD dword ptr [ESP + 0x8],0x1
JMP 0x0006abe0
CMP dword ptr [ESP + 0xc],-0x1
JNZ 0x0006bb3a
MOV dword ptr [ESP + 0xc],EAX
JMP 0x0006abe0
CALL 0x00078b30
SUB ESP,0x8
PUSH 0x0
PUSH EAX
CALL 0x00074050
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
JMP 0x0006abe0
CALL 0x00078b30
MOV dword ptr [ESP + 0x10],EAX
JMP 0x0006abe0
LEA EAX,[EBX + 0xfffd2f5c]
MOV dword ptr [ESP + 0x10],0x0
LEA ESI,[EBX + 0x7b14]
XOR EDI,EDI
MOV dword ptr [ESP + 0x18],0x0
MOV dword ptr [ESP + 0x20],EAX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2e6c]
PUSH dword ptr [ESP + 0x14]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0x10
SUB ESP,0x4
PUSH 0x25c
MOV ESI,dword ptr [ESP + 0x28]
PUSH ESI
PUSH dword ptr [ESP + 0x68]
CALL 0x00028c20
ADD ESP,0xc
PUSH 0x25d
PUSH ESI
PUSH dword ptr [ESP + 0x6c]
CALL 0x00028c20
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0006ae29
LEA ESI,[EBX + 0x7b14]
SUB ESP,0xc
PUSH dword ptr [ESI]
CALL 0x0002c0c0
ADD ESP,0x10
MOV dword ptr [ESP + 0x10],0x1
JMP 0x0006ae29
TEST ESI,ESI
JZ 0x0006bb1d
MOV EAX,dword ptr [ESP + 0x38]
MOV ECX,dword ptr [EAX]
ADD EAX,0x4
MOV dword ptr [ESP + 0x38],EAX
MOV dword ptr [ESP + 0x40],ECX
JMP 0x0006ac79
LEA ESI,[EBX + 0x7b14]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2c64]
MOV EDI,dword ptr [ESP + 0x20]
PUSH EDI
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
POP ECX
POP EAX
PUSH 0x0
PUSH EDI
CALL 0x00077180
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JNZ 0x0006ace9
LEA EAX,[EBX + 0xfffd2f5c]
MOV dword ptr [ESP + 0x10],0x1
MOV dword ptr [ESP + 0x20],EAX
JMP 0x0006b002
MOV EDX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x20],EBP
MOV EBP,dword ptr [ESP + 0x2c]
TEST EDX,EDX
JNZ 0x0006b9f4
MOV ECX,dword ptr [ESP + 0x20]
TEST ECX,ECX
JNS 0x0006ba83
MOV EDX,dword ptr [ESP + 0x10]
TEST EDX,EDX
JG 0x0006bb81
MOV dword ptr [ESP + 0x3c],0x0
LEA EAX,[EBX + 0xfffd2f5c]
MOV dword ptr [ESP + 0x4c],EBP
CMP dword ptr [ESP + 0xc],0x9
SETZ byte ptr [ESP + 0x30]
MOV EBP,dword ptr [ESP + 0x38]
MOV ESI,dword ptr [ESP + 0x40]
MOV dword ptr [ESP + 0x20],EAX
LEA EAX,[EBX + 0x7b14]
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x34],0x0
MOV dword ptr [ESP + 0x44],EAX
MOV dword ptr [ESP + 0x48],EAX
MOV dword ptr [ESP + 0x2c],EDI
JMP 0x0006b1cd
TEST AL,AL
JZ 0x0006b1ea
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2ffa]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0x7b14]
MOV dword ptr [ESP + 0x44],EAX
PUSH dword ptr [EAX]
CALL 0x00027240
MOV EAX,dword ptr [ESP + 0x3c]
MOV ECX,0x55
MOV EDX,ESI
CALL 0x0006a9f0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JS 0x0006b2c0
MOV EAX,dword ptr [ESP + 0x2c]
MOV EDX,EDI
CALL 0x0006aac0
CMP dword ptr [ESP + 0xc],0x9
JNZ 0x0006b278
TEST ESI,ESI
JZ 0x0006b8c0
TEST EDI,EDI
JS 0x0006b5b3
ADD EBP,0x4
MOV ESI,dword ptr [EBP + -0x4]
TEST ESI,ESI
JZ 0x0006b618
TEST ESI,ESI
SETNZ AL
JNZ 0x0006b1df
CMP byte ptr [ESP + 0x30],0x0
JZ 0x0006b618
CMP dword ptr [ESP + 0x8],0x1
JG 0x0006b158
MOV EAX,dword ptr [ESP + 0x2c]
MOV ECX,0x55
MOV EDX,ESI
CALL 0x0006a9f0
MOV EDI,EAX
TEST EAX,EAX
JS 0x0006b1a4
MOV EAX,dword ptr [ESP + 0x8]
TEST EAX,EAX
JG 0x0006b199
CMP byte ptr [ESP + 0x30],0x0
JNZ 0x0006b199
CMP dword ptr [ESP + 0xc],0x6
JZ 0x0006b445
CMP dword ptr [ESP + 0xc],0x8
JZ 0x0006b487
CMP dword ptr [ESP + 0xc],0x7
JNZ 0x0006b1bf
TEST EDI,EDI
JS 0x0006b5f5
SUB ESP,0x8
PUSH EDI
MOV EAX,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [EAX + 0x4]
PUSH dword ptr [EAX + 0x4]
CALL 0x00027140
ADD ESP,0xc
MOV EDI,EAX
LEA EAX,[EBX + 0xfffd307c]
PUSH ESI
PUSH EAX
MOV EAX,dword ptr [ESP + 0x50]
PUSH dword ptr [EAX]
CALL 0x00027240
MOV EAX,dword ptr [EDI]
ADD ESP,0x10
MOV dword ptr [ESP + 0x10],0x1
MOV byte ptr [EAX],0x52
JMP 0x0006b1bf
CMP dword ptr [ESP + 0xc],0x6
JZ 0x0006b43d
CMP dword ptr [ESP + 0xc],0x8
JNZ 0x0006b225
TEST EDI,EDI
JNS 0x0006b487
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2d40]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0x7b14]
PUSH dword ptr [EAX]
CALL 0x00027240
ADD dword ptr [ESP + 0x44],0x1
ADD ESP,0x10
JMP 0x0006b1bf
CMP dword ptr [ESP + 0xc],0x9
JZ 0x0006b5bd
CMP dword ptr [ESP + 0xc],0x6
JNZ 0x0006b283
MOV EAX,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0x68],0x0
MOV dword ptr [ESP + 0x6c],0x0
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x78],0x0
TEST EAX,EAX
JZ 0x0006b687
MOV EDI,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX + 0x8]
LEA ECX,[ESP + 0x6c]
LEA EDX,[ESP + 0x68]
PUSH dword ptr [ESP + 0x8]
PUSH dword ptr [ESP + 0x14]
PUSH EDI
PUSH EAX
MOV EAX,ESI
CALL 0x0006a7e0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x0006bdef
SUB ESP,0x4
PUSH 0x1be
PUSH dword ptr [ESP + 0x28]
PUSH ESI
CALL 0x000289e0
MOV dword ptr [ESP + 0x80],EAX
ADD ESP,0xc
LEA EAX,[EBX + 0xfffd5390]
PUSH 0x1bf
MOV ESI,dword ptr [ESP + 0x28]
PUSH ESI
PUSH EAX
CALL 0x000289e0
MOV dword ptr [ESP + 0x74],EAX
ADD ESP,0xc
PUSH 0x1c0
PUSH ESI
PUSH EDI
CALL 0x000289e0
MOV EDX,dword ptr [ESP + 0x80]
MOV dword ptr [ESP + 0x84],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0006bb78
TEST EDX,EDX
JZ 0x0006bb78
MOV EAX,dword ptr [ESP + 0x64]
TEST EAX,EAX
JZ 0x0006bb78
MOV EAX,dword ptr [ESP + 0x68]
TEST EAX,EAX
JZ 0x0006bb78
MOV EAX,dword ptr [ESP + 0x6c]
TEST EAX,EAX
JZ 0x0006bb78
MOV EAX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JZ 0x0006b3dd
SUB ESP,0x4
PUSH 0x1c8
PUSH ESI
PUSH EAX
CALL 0x000289e0
MOV dword ptr [ESP + 0x88],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0006be59
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd3038]
PUSH EAX
PUSH 0x1c
CALL 0x00073440
ADD ESP,0x10
MOV ESI,EAX
LEA EDX,[ESP + 0x64]
XOR EAX,EAX
LEA ESI,[ESI]
MOV ECX,dword ptr [EDX + EAX*0x4]
MOV dword ptr [ESI + EAX*0x4],ECX
ADD EAX,0x1
CMP EAX,0x6
JNZ 0x0006b400
SUB ESP,0x8
MOV dword ptr [ESI + 0x18],0x0
PUSH ESI
MOV EAX,dword ptr [ESP + 0x38]
PUSH dword ptr [EAX + 0x4]
CALL 0x00028b60
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0006b926
MOV dword ptr [ESP + 0x10],0x1
JMP 0x0006b1bf
TEST EDI,EDI
JS 0x0006b2d2
SUB ESP,0x8
PUSH EDI
MOV EAX,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [EAX + 0x4]
PUSH dword ptr [EAX + 0x4]
CALL 0x00027140
ADD ESP,0xc
MOV EDI,EAX
LEA EAX,[EBX + 0xfffd3020]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0x7b14]
PUSH dword ptr [EAX]
CALL 0x00027240
MOV EAX,dword ptr [EDI]
ADD ESP,0x10
MOV dword ptr [ESP + 0x10],0x1
MOV byte ptr [EAX],0x56
JMP 0x0006b1bf
SUB ESP,0x8
PUSH EDI
MOV EAX,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [EAX + 0x4]
PUSH dword ptr [EAX + 0x4]
CALL 0x00027140
MOV dword ptr [ESP + 0x48],EAX
MOV EAX,dword ptr [EAX]
ADD ESP,0x10
MOVZX EAX,byte ptr [EAX]
CMP AL,0x76
JZ 0x0006bb2b
CMP AL,0x56
JZ 0x0006b81a
MOV EDI,dword ptr [ESP + 0x8]
TEST EDI,EDI
JNZ 0x0006b906
MOV ECX,dword ptr [ESP + 0x3c]
MOV EAX,dword ptr [ESP + 0x60]
TEST ECX,ECX
JZ 0x0006ba74
MOV EDI,dword ptr [ECX + 0x4]
MOV dword ptr [ESP + 0x10],EDI
MOV EDI,dword ptr [ECX + 0x8]
MOV EDX,dword ptr [ESP + 0x38]
PUSH dword ptr [ESP + 0x8]
PUSH EAX
MOV EAX,ESI
PUSH dword ptr [ESP + 0x18]
LEA ECX,[EDX + 0x8]
ADD EDX,0x4
PUSH EDI
CALL 0x0006a7e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0006be18
MOV EDI,dword ptr [ESP + 0x38]
SUB ESP,0x4
MOV EDX,dword ptr [EDI]
MOV byte ptr [EDX],0x76
PUSH 0x213
MOV ESI,dword ptr [ESP + 0x28]
PUSH ESI
PUSH EAX
CALL 0x000289e0
MOV EDX,dword ptr [EDI + 0xc]
ADD ESP,0x10
MOV dword ptr [EDI + 0x10],EAX
TEST EDX,EDX
JZ 0x0006b56c
TEST EAX,EAX
JZ 0x0006b56c
MOV EAX,dword ptr [EDI]
TEST EAX,EAX
JZ 0x0006b56c
MOV EAX,dword ptr [EDI + 0x4]
TEST EAX,EAX
JZ 0x0006b56c
MOV EAX,dword ptr [EDI + 0x8]
TEST EAX,EAX
JZ 0x0006b56c
MOV EAX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JZ 0x0006b430
SUB ESP,0x4
PUSH 0x21b
PUSH ESI
PUSH EAX
CALL 0x000289e0
ADD ESP,0x10
MOV dword ptr [EDI + 0x14],EAX
TEST EAX,EAX
JNZ 0x0006b430
MOV EDI,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x10],0x1
MOV EAX,dword ptr [ESP + 0x34]
TEST EAX,EAX
JZ 0x0006aeb8
MOV EAX,dword ptr [ESP + 0x8]
TEST EAX,EAX
JZ 0x0006b01a
LEA ESI,[EBX + 0x7b14]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd30f5]
PUSH dword ptr [ESP + 0x38]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0x10
JMP 0x0006b002
LEA EAX,[EBX + 0x7b14]
MOV dword ptr [ESP + 0x38],EAX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2cd4]
PUSH ESI
PUSH EAX
MOV EAX,dword ptr [ESP + 0x44]
PUSH dword ptr [EAX]
CALL 0x00027240
ADD dword ptr [ESP + 0x44],0x1
ADD ESP,0x10
JMP 0x0006b1bf
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd2b54]
PUSH EAX
LEA ESI,[EBX + 0x7b14]
JMP 0x0006aee4
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2e3c]
PUSH ESI
PUSH EAX
MOV EAX,dword ptr [ESP + 0x54]
PUSH dword ptr [EAX]
CALL 0x00027240
ADD dword ptr [ESP + 0x44],0x1
ADD ESP,0x10
JMP 0x0006b1bf
MOV EAX,dword ptr [ESP + 0x8]
MOV EBP,dword ptr [ESP + 0x4c]
MOV EDI,dword ptr [ESP + 0x2c]
TEST EAX,EAX
JNZ 0x0006bb59
MOV ESI,dword ptr [ESP + 0x10]
TEST ESI,ESI
JZ 0x0006b7f8
MOV ESI,dword ptr [ESP + 0x8]
JMP 0x0006b643
ADD EBP,0x1
MOV EAX,dword ptr [EDI + 0x4]
SUB ESP,0xc
PUSH dword ptr [EAX + 0x4]
CALL 0x0002b920
ADD ESP,0x10
CMP EBP,EAX
JGE 0x0006baa1
MOV EAX,dword ptr [EDI + 0x4]
SUB ESP,0x8
PUSH EBP
PUSH dword ptr [EAX + 0x4]
CALL 0x00027140
ADD ESP,0x10
MOV EAX,dword ptr [EAX]
CMP byte ptr [EAX],0x76
JNZ 0x0006b640
MOV byte ptr [EAX],0x56
TEST ESI,ESI
JZ 0x0006b640
MOV EDX,EBP
MOV EAX,EDI
CALL 0x0006aac0
JMP 0x0006b640
XOR EDI,EDI
MOV EAX,dword ptr [ESP + 0x24]
JMP 0x0006b304
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd2bdc]
LEA ESI,[EBX + 0x7b14]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0x10
JMP 0x0006aed6
MOV EDX,dword ptr [ESP + 0x20]
TEST EDX,EDX
JZ 0x0006bc37
MOV EAX,dword ptr [ESP + 0x8]
TEST EAX,EAX
JNZ 0x0006bbb9
SUB ESP,0xc
PUSH dword ptr [ESP + 0x2c]
CALL 0x00075fc0
MOV dword ptr [ESP + 0x28],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0006bb4c
LEA EAX,[EBX + 0x7b20]
MOV ECX,dword ptr [ESP + 0x20]
CMP dword ptr [EAX],ECX
JZ 0x0006b709
SUB ESP,0xc
PUSH dword ptr [ESP + 0x24]
CALL 0x000770d0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0006bd1a
TEST EDI,EDI
JZ 0x0006bc84
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd2fb6]
PUSH EAX
PUSH dword ptr [ESP + 0x24]
CALL 0x00072430
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x8]
TEST EAX,EAX
JNZ 0x0006bd40
SUB ESP,0x4
LEA EDX,[EBX + 0xfffd0b45]
PUSH EDX
MOV dword ptr [ESP + 0x18],EDX
PUSH EDI
PUSH dword ptr [ESP + 0x24]
CALL 0x0002aa40
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x10]
TEST EAX,EAX
MOV dword ptr [ESP + 0x1c],EAX
JNZ 0x0006acce
LEA ESI,[EBX + 0x7b14]
LEA EAX,[EBX + 0xfffc240c]
PUSH EDX
PUSH EDI
XOR EDI,EDI
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0x10
JMP 0x0006aef8
LEA ESI,[EBX + 0x7b14]
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd30a9]
LEA EBP,[EBX + 0xfffc1f00]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0xc
PUSH EDI
PUSH EBP
PUSH dword ptr [ESP + 0x28]
CALL 0x00074980
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0006bd27
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd30c5]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0xc
LEA EAX,[EBX + 0xfffc211b]
PUSH EAX
PUSH EBP
PUSH dword ptr [ESP + 0x28]
CALL 0x00074b50
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0006bd27
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd30e2]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x34]
XOR EAX,EAX
TEST EDX,EDX
SETNZ AL
MOV dword ptr [ESP + 0x10],EAX
JMP 0x0006b578
SUB ESP,0x8
LEA EAX,[EBX + 0xfffc5c11]
JMP 0x0006b5e9
MOV EAX,dword ptr [ESP + 0x8]
TEST EAX,EAX
JNZ 0x0006bcde
MOV EAX,dword ptr [ESP + 0x38]
MOV ECX,0x49
MOV EDX,dword ptr [EAX + 0x10]
MOV EAX,dword ptr [ESP + 0x2c]
CALL 0x0006a9f0
TEST EAX,EAX
JNS 0x0006bc06
MOV EAX,dword ptr [ESP + 0x5c]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x38]
XOR EDI,EDI
MOV EAX,dword ptr [EAX + 0x10]
MOV EDX,dword ptr [ESP + 0x38]
MOV ECX,dword ptr [EDX + 0x8]
MOV EDX,dword ptr [EDX + 0x4]
PUSH dword ptr [ESP + 0x8]
PUSH dword ptr [ESP + 0x14]
PUSH EDI
PUSH EAX
MOV EAX,ESI
CALL 0x0006a5f0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0006b4b6
MOV EDI,dword ptr [ESP + 0x2c]
PUSH EBP
LEA EAX,[EBX + 0xfffd2dc4]
PUSH ESI
LEA ESI,[EBX + 0x7b14]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD dword ptr [ESP + 0x44],0x1
ADD ESP,0x10
CMP dword ptr [ESP + 0x8],0x0
JNZ 0x0006be4c
PUSH EAX
PUSH 0x25c
MOV EBP,dword ptr [ESP + 0x28]
JMP 0x0006af12
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd3010]
PUSH EAX
LEA EAX,[EBX + 0x7b14]
PUSH dword ptr [EAX]
CALL 0x00027240
ADD ESP,0x10
MOV EDI,dword ptr [ESP + 0x2c]
JMP 0x0006b8ec
MOV EDX,ESI
MOV EAX,EDI
ADD ESI,0x1
CALL 0x0006aac0
MOV EAX,dword ptr [EDI + 0x4]
SUB ESP,0xc
PUSH dword ptr [EAX + 0x4]
CALL 0x0002b920
ADD ESP,0x10
CMP ESI,EAX
JL 0x0006b8e0
JMP 0x0006b1bf
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd3060]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0x7b14]
PUSH dword ptr [EAX]
CALL 0x00027240
ADD ESP,0x10
JMP 0x0006b4c2
MOV dword ptr [ESP + 0xc],ESI
LEA ESI,[EBX + 0x7b14]
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd3045]
MOV EDI,dword ptr [ESP + 0x34]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
MOV EAX,dword ptr [EDI + 0x4]
ADD ESP,0xc
PUSH dword ptr [EAX + 0x10]
LEA EAX,[EBX + 0xfffc1a1a]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0xc
PUSH 0x6c
PUSH dword ptr [ESP + 0x28]
MOV ECX,dword ptr [ESP + 0x18]
PUSH ECX
CALL 0x00028c20
MOV EDX,dword ptr [ESP + 0x80]
ADD ESP,0x10
SUB ESP,0x4
PUSH 0x1ca
MOV ESI,dword ptr [ESP + 0x28]
PUSH ESI
PUSH EDX
CALL 0x00028c20
ADD ESP,0xc
PUSH 0x1cb
PUSH ESI
PUSH dword ptr [ESP + 0x80]
CALL 0x00028c20
ADD ESP,0xc
PUSH 0x1cc
PUSH ESI
PUSH dword ptr [ESP + 0x84]
CALL 0x00028c20
ADD ESP,0xc
PUSH 0x1cd
PUSH ESI
PUSH dword ptr [ESP + 0x70]
CALL 0x00028c20
ADD ESP,0xc
PUSH 0x1ce
PUSH ESI
PUSH dword ptr [ESP + 0x74]
CALL 0x00028c20
ADD ESP,0xc
PUSH 0x1cf
PUSH ESI
PUSH dword ptr [ESP + 0x78]
CALL 0x00028c20
ADD ESP,0x10
JMP 0x0006b570
LEA ESI,[EBX + 0x7b14]
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd2fba]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x20]
TEST EAX,EAX
JNS 0x0006bc48
MOV EAX,dword ptr [ESP + 0x10]
TEST EAX,EAX
JG 0x0006bcfe
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd2cb0]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0x10
CMP dword ptr [ESP + 0x8],0x1
JLE 0x0006b105
MOV dword ptr [ESP + 0x3c],0x0
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd2fe0]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0x10
JMP 0x0006b10d
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd2b90]
JMP 0x0006b69b
MOV dword ptr [ESP + 0x10],0x0
XOR EDI,EDI
JMP 0x0006b4dc
MOV EAX,dword ptr [EDI + 0x4]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [EAX + 0x4]
CALL 0x00027140
MOV dword ptr [ESP + 0x4c],EAX
ADD ESP,0x10
JMP 0x0006b10d
MOV ECX,dword ptr [ESP + 0x8]
TEST ECX,ECX
JNZ 0x0006b77e
SUB ESP,0x4
LEA ESI,[EBX + 0xfffc1f00]
PUSH EDI
PUSH ESI
PUSH dword ptr [ESP + 0x28]
CALL 0x00074980
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0006bae7
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc211b]
PUSH EAX
PUSH ESI
PUSH dword ptr [ESP + 0x28]
CALL 0x00074b50
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0006b7f8
SUB ESP,0x4
PUSH 0x25c
MOV ESI,dword ptr [ESP + 0x28]
PUSH ESI
PUSH dword ptr [ESP + 0x68]
CALL 0x00028c20
ADD ESP,0xc
PUSH 0x25d
PUSH ESI
PUSH dword ptr [ESP + 0x6c]
CALL 0x00028c20
ADD ESP,0x10
LEA ESI,[EBX + 0x7b14]
JMP 0x0006b057
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd2f95]
JMP 0x0006b69b
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2d70]
PUSH ESI
JMP 0x0006b29c
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2b28]
PUSH dword ptr [ESP + 0x30]
JMP 0x0006b69b
XOR EDI,EDI
LEA ESI,[EBX + 0x7b14]
JMP 0x0006af04
LEA ESI,[EBX + 0x7b14]
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd3092]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0x10
JMP 0x0006b62c
MOV EDI,dword ptr [ESP + 0x2c]
JMP 0x0006b979
SUB ESP,0xc
PUSH dword ptr [ESP + 0x30]
CALL 0x00028580
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0006b105
LEA ESI,[EBX + 0x7b14]
PUSH EAX
LEA EAX,[EBX + 0xfffd2c8c]
PUSH dword ptr [ESP + 0x28]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0x10
JMP 0x0006aef8
LEA ESI,[EBX + 0x7b14]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc1cee]
PUSH dword ptr [ESP + 0x24]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
POP EAX
PUSH dword ptr [ESP + 0x2c]
CALL 0x00075fc0
MOV dword ptr [ESP + 0x28],EAX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0006b6e4
LEA EAX,[EBX + 0xfffd2f5c]
XOR EDI,EDI
MOV dword ptr [ESP + 0x10],0x1
MOV dword ptr [ESP + 0x20],EAX
JMP 0x0006b002
SUB ESP,0x8
PUSH EDI
MOV EAX,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [EAX + 0x4]
PUSH dword ptr [EAX + 0x4]
CALL 0x00027140
MOV ECX,dword ptr [ESP + 0x6c]
MOV dword ptr [ESP + 0x20],ECX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0006b84b
MOV EDI,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX + 0x8]
JMP 0x0006b854
LEA EAX,[EBX + 0x7b20]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x20],EAX
JMP 0x0006b6bd
SUB ESP,0x8
MOV dword ptr [ESP + 0x28],EAX
PUSH EAX
MOV EAX,dword ptr [EDI + 0x4]
PUSH dword ptr [EAX + 0x4]
CALL 0x00027140
MOV dword ptr [ESP + 0x4c],EAX
ADD ESP,0x10
LEA EAX,[EDI + 0x4]
CMP dword ptr [ESP + 0x8],0x1
JZ 0x0006b10d
MOV EDX,dword ptr [ESP + 0x20]
LEA ECX,[EBX + 0xfffd2fd0]
CALL 0x0006a970
JMP 0x0006ba4d
MOV EAX,dword ptr [ESP + 0x8]
TEST EAX,EAX
JNZ 0x0006bd88
SUB ESP,0x4
LEA ECX,[EBX + 0xfffd2fae]
LEA EDX,[EBX + 0xfffd2fb6]
PUSH ECX
MOV dword ptr [ESP + 0x24],ECX
PUSH EDX
MOV dword ptr [ESP + 0x1c],EDX
PUSH dword ptr [ESP + 0x24]
CALL 0x0002aa40
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x10]
MOV ECX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
MOV ESI,EAX
JZ 0x0006be29
SUB ESP,0x8
MOV EDI,ESI
PUSH EDX
PUSH dword ptr [ESP + 0x24]
CALL 0x00072430
ADD ESP,0x10
JMP 0x0006b733
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2da0]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0x7b14]
PUSH dword ptr [EAX]
CALL 0x00027240
ADD ESP,0x10
JMP 0x0006b826
SUB ESP,0xc
PUSH dword ptr [ESP + 0x30]
CALL 0x00028580
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0006ba26
JMP 0x0006bb9e
XOR EDI,EDI
LEA ESI,[EBX + 0x7b14]
JMP 0x0006aef8
MOV EBP,dword ptr [ESP + 0x34]
TEST EBP,EBP
JNZ 0x0006b596
JMP 0x0006b002
LEA ESI,[EBX + 0x7b14]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2c38]
PUSH EDI
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0xc
LEA EDX,[EBX + 0xfffd0b45]
PUSH EDX
MOV dword ptr [ESP + 0x18],EDX
PUSH EDI
PUSH dword ptr [ESP + 0x24]
CALL 0x0002aa40
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0006b764
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x0006b095
LEA ESI,[EBX + 0x7b14]
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd2c14]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0xc
LEA ECX,[EBX + 0xfffd2fae]
LEA EDX,[EBX + 0xfffd2fb6]
PUSH ECX
MOV dword ptr [ESP + 0x24],ECX
PUSH EDX
MOV dword ptr [ESP + 0x1c],EDX
PUSH dword ptr [ESP + 0x24]
CALL 0x0002aa40
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x10]
MOV ECX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JZ 0x0006be2f
MOV dword ptr [ESP + 0x10],EAX
SUB ESP,0x8
PUSH EDX
PUSH dword ptr [ESP + 0x24]
CALL 0x00072430
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x10]
MOV EDI,EAX
JMP 0x0006bd46
MOV EDI,dword ptr [ESP + 0x2c]
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd2cfc]
PUSH ESI
LEA ESI,[EBX + 0x7b14]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD dword ptr [ESP + 0x44],0x1
ADD ESP,0x10
JMP 0x0006b570
MOV EDI,dword ptr [ESP + 0x2c]
LEA EAX,[EBX + 0xfffd2dfc]
PUSH ECX
PUSH ESI
JMP 0x0006b886
LEA ESI,[EBX + 0x7b14]
LEA EAX,[EBX + 0xfffc240c]
PUSH ECX
PUSH EDX
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x00027240
ADD ESP,0x10
JMP 0x0006aef8
CALL 0x0007d010
MOV dword ptr [ESP + 0x10],0x1
JMP 0x0006b596
MOV EDI,dword ptr [ESP + 0x2c]
MOV EDX,dword ptr [ESP + 0x70]
JMP 0x0006b979
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint FUN_0006ab40(undefined4 param_1,undefined4 param_2)\n\n{\n  char *pcVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  OPENSSL_STRING *value;\n  int *piVar6;\n  undefined4 *extraout_ECX;\n  int iVar7;\n  int iVar8;\n  char *pcVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int local_94;\n  int local_90;\n  uint local_8c;\n  undefined4 local_88;\n  CONF *local_84;\n  undefined **local_80;\n  undefined **local_7c;\n  char *local_78;\n  char *local_74;\n  int local_68;\n  undefined4 *local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined *local_40;\n  void *local_3c;\n  char *local_38;\n  void *local_34;\n  void *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  pcVar9 = (char *)0x0;\n  uStack_14 = 0x6ab4b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = (undefined *)0x0;\n  local_3c = (void *)0x0;\n  ppuVar11 = &PTR_DAT_000ba060;\n  pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);\n  local_80 = (undefined **)0x0;\n  local_7c = (undefined **)0x0;\n  local_74 = (char *)0x0;\n  local_78 = (char *)0x0;\n  local_84 = (CONF *)0x0;\n  local_8c = 0;\n  local_90 = -1;\n  local_94 = 0;\n  local_88 = 0;\nLAB_0006abe0:\n  iVar2 = FUN_00078780();\n  if (iVar2 != 0) goto LAB_0006abe9;\nLAB_0006ac30:\n  iVar3 = FUN_00079110();\n  local_64 = (undefined4 *)FUN_000790f0();\n  if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }\n  if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }\n  if (local_90 - 6U < 3) {\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (undefined **)0x0;\n  }\n  if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }\n  pcVar9 = "-passin, -passout arguments only valid with one user.\n";\nLAB_0006b69b:\n  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);\nLAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";\nLAB_0006aee4:\n  iVar3 = 0;\n  BIO_printf(DAT_000c458c,pcVar9,pcVar1);\n  local_84 = (CONF *)0x0;\nLAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }\nLAB_0006b057:\n  ERR_print_errors(DAT_000c458c);\n  local_8c = 1;\nLAB_0006ae29:\n  NCONF_free(local_84);\n  FUN_00074e20(iVar3,local_7c,uVar12);\n  FUN_00074230(local_88);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0007d010();\n  }\n  return local_8c;\nLAB_0006abe9:\n  while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }\n  if (iVar2 == 0xd) {\n    local_84 = (CONF *)FUN_00078b30();\n  }\n  else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }\n  goto LAB_0006abe0;\n}\n\n" comment (function_definition "uint FUN_0006ab40(undefined4 param_1,undefined4 param_2)\n\n{\n  char *pcVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  OPENSSL_STRING *value;\n  int *piVar6;\n  undefined4 *extraout_ECX;\n  int iVar7;\n  int iVar8;\n  char *pcVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int local_94;\n  int local_90;\n  uint local_8c;\n  undefined4 local_88;\n  CONF *local_84;\n  undefined **local_80;\n  undefined **local_7c;\n  char *local_78;\n  char *local_74;\n  int local_68;\n  undefined4 *local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined *local_40;\n  void *local_3c;\n  char *local_38;\n  void *local_34;\n  void *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  pcVar9 = (char *)0x0;\n  uStack_14 = 0x6ab4b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = (undefined *)0x0;\n  local_3c = (void *)0x0;\n  ppuVar11 = &PTR_DAT_000ba060;\n  pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);\n  local_80 = (undefined **)0x0;\n  local_7c = (undefined **)0x0;\n  local_74 = (char *)0x0;\n  local_78 = (char *)0x0;\n  local_84 = (CONF *)0x0;\n  local_8c = 0;\n  local_90 = -1;\n  local_94 = 0;\n  local_88 = 0;\nLAB_0006abe0:\n  iVar2 = FUN_00078780();\n  if (iVar2 != 0) goto LAB_0006abe9;\nLAB_0006ac30:\n  iVar3 = FUN_00079110();\n  local_64 = (undefined4 *)FUN_000790f0();\n  if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }\n  if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }\n  if (local_90 - 6U < 3) {\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (undefined **)0x0;\n  }\n  if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }\n  pcVar9 = "-passin, -passout arguments only valid with one user.\n";\nLAB_0006b69b:\n  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);\nLAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";\nLAB_0006aee4:\n  iVar3 = 0;\n  BIO_printf(DAT_000c458c,pcVar9,pcVar1);\n  local_84 = (CONF *)0x0;\nLAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }\nLAB_0006b057:\n  ERR_print_errors(DAT_000c458c);\n  local_8c = 1;\nLAB_0006ae29:\n  NCONF_free(local_84);\n  FUN_00074e20(iVar3,local_7c,uVar12);\n  FUN_00074230(local_88);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0007d010();\n  }\n  return local_8c;\nLAB_0006abe9:\n  while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }\n  if (iVar2 == 0xd) {\n    local_84 = (CONF *)FUN_00078b30();\n  }\n  else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }\n  goto LAB_0006abe0;\n}" type_identifier (function_declarator "FUN_0006ab40(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  char *pcVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  OPENSSL_STRING *value;\n  int *piVar6;\n  undefined4 *extraout_ECX;\n  int iVar7;\n  int iVar8;\n  char *pcVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int local_94;\n  int local_90;\n  uint local_8c;\n  undefined4 local_88;\n  CONF *local_84;\n  undefined **local_80;\n  undefined **local_7c;\n  char *local_78;\n  char *local_74;\n  int local_68;\n  undefined4 *local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined *local_40;\n  void *local_3c;\n  char *local_38;\n  void *local_34;\n  void *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  pcVar9 = (char *)0x0;\n  uStack_14 = 0x6ab4b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = (undefined *)0x0;\n  local_3c = (void *)0x0;\n  ppuVar11 = &PTR_DAT_000ba060;\n  pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);\n  local_80 = (undefined **)0x0;\n  local_7c = (undefined **)0x0;\n  local_74 = (char *)0x0;\n  local_78 = (char *)0x0;\n  local_84 = (CONF *)0x0;\n  local_8c = 0;\n  local_90 = -1;\n  local_94 = 0;\n  local_88 = 0;\nLAB_0006abe0:\n  iVar2 = FUN_00078780();\n  if (iVar2 != 0) goto LAB_0006abe9;\nLAB_0006ac30:\n  iVar3 = FUN_00079110();\n  local_64 = (undefined4 *)FUN_000790f0();\n  if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }\n  if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }\n  if (local_90 - 6U < 3) {\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (undefined **)0x0;\n  }\n  if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }\n  pcVar9 = "-passin, -passout arguments only valid with one user.\n";\nLAB_0006b69b:\n  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);\nLAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";\nLAB_0006aee4:\n  iVar3 = 0;\n  BIO_printf(DAT_000c458c,pcVar9,pcVar1);\n  local_84 = (CONF *)0x0;\nLAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }\nLAB_0006b057:\n  ERR_print_errors(DAT_000c458c);\n  local_8c = 1;\nLAB_0006ae29:\n  NCONF_free(local_84);\n  FUN_00074e20(iVar3,local_7c,uVar12);\n  FUN_00074230(local_88);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0007d010();\n  }\n  return local_8c;\nLAB_0006abe9:\n  while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }\n  if (iVar2 == 0xd) {\n    local_84 = (CONF *)FUN_00078b30();\n  }\n  else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }\n  goto LAB_0006abe0;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "OPENSSL_STRING *value;" type_identifier (pointer_declarator "*value" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined4 *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "undefined **ppuVar11;" type_identifier (pointer_declarator "**ppuVar11" * (pointer_declarator "*ppuVar11" * identifier)) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "CONF *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "undefined **local_80;" type_identifier (pointer_declarator "**local_80" * (pointer_declarator "*local_80" * identifier)) ;) (declaration "undefined **local_7c;" type_identifier (pointer_declarator "**local_7c" * (pointer_declarator "*local_7c" * identifier)) ;) (declaration "char *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "char *local_74;" primitive_type (pointer_declarator "*local_74" * identifier) ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "undefined4 *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "undefined **local_5c;" type_identifier (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)) ;) (declaration "undefined *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "void *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "char *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "void *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "void *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "char *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (declaration "char *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_14 = 0x6ab4b;" (assignment_expression "uStack_14 = 0x6ab4b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_40 = (undefined *)0x0;" (assignment_expression "local_40 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_3c = (void *)0x0;" (assignment_expression "local_3c = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar11 = &PTR_DAT_000ba060;" (assignment_expression "ppuVar11 = &PTR_DAT_000ba060" identifier = (pointer_expression "&PTR_DAT_000ba060" & identifier)) ;) (expression_statement "pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);" (assignment_expression "pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060)" identifier = (cast_expression "(char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060)" identifier (argument_list "(param_1,param_2,&PTR_DAT_000ba060)" ( identifier , identifier , (pointer_expression "&PTR_DAT_000ba060" & identifier) ))))) ;) (expression_statement "local_80 = (undefined **)0x0;" (assignment_expression "local_80 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_7c = (undefined **)0x0;" (assignment_expression "local_7c = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_74 = (char *)0x0;" (assignment_expression "local_74 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_90 = -1;" (assignment_expression "local_90 = -1" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0006abe0:\n  iVar2 = FUN_00078780();" statement_identifier : (expression_statement "iVar2 = FUN_00078780();" (assignment_expression "iVar2 = FUN_00078780()" identifier = (call_expression "FUN_00078780()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar2 != 0) goto LAB_0006abe9;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006abe9;" goto statement_identifier ;)) (labeled_statement "LAB_0006ac30:\n  iVar3 = FUN_00079110();" statement_identifier : (expression_statement "iVar3 = FUN_00079110();" (assignment_expression "iVar3 = FUN_00079110()" identifier = (call_expression "FUN_00079110()" identifier (argument_list "()" ( )))) ;)) (expression_statement "local_64 = (undefined4 *)FUN_000790f0();" (assignment_expression "local_64 = (undefined4 *)FUN_000790f0()" identifier = (cast_expression "(undefined4 *)FUN_000790f0()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000790f0()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }" if (parenthesized_expression "((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0))" ( (binary_expression "(local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)" (parenthesized_expression "(local_80 != (undefined **)0x0)" ( (binary_expression "local_80 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(local_7c != (undefined **)0x0)" ( (binary_expression "local_7c != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }" { (expression_statement "pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";" (assignment_expression "pcVar9 = "-srpvfile and -configfile cannot be specified together.\n"" identifier = (string_literal ""-srpvfile and -configfile cannot be specified together.\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar1 = (char *)ppuVar11;" (assignment_expression "pcVar1 = (char *)ppuVar11" identifier = (cast_expression "(char *)ppuVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0006aee4;" goto statement_identifier ;) })) (if_statement "if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }" if (parenthesized_expression "(local_90 == -1)" ( (binary_expression "local_90 == -1" identifier == number_literal) )) (compound_statement "{\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }" { (expression_statement "pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";" (assignment_expression "pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n"" identifier = (string_literal ""Exactly one of the options -add, -delete, -modify -list must be specified.\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0006b69b;" goto statement_identifier ;) })) (if_statement "if (local_90 - 6U < 3) {\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (undefined **)0x0;\n  }" if (parenthesized_expression "(local_90 - 6U < 3)" ( (binary_expression "local_90 - 6U < 3" (binary_expression "local_90 - 6U" identifier - number_literal) < number_literal) )) (compound_statement "{\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }" { (if_statement "if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }" { (expression_statement "pcVar9 = "Need at least one user.\n";" (assignment_expression "pcVar9 = "Need at least one user.\n"" identifier = (string_literal ""Need at least one user.\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0006b69b;" goto statement_identifier ;) })) (expression_statement "local_5c = (undefined **)*local_64;" (assignment_expression "local_5c = (undefined **)*local_64" identifier = (cast_expression "(undefined **)*local_64" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_64" * identifier))) ;) (expression_statement "local_64 = local_64 + 1;" (assignment_expression "local_64 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n    local_5c = (undefined **)0x0;\n  }" else (compound_statement "{\n    local_5c = (undefined **)0x0;\n  }" { (expression_statement "local_5c = (undefined **)0x0;" (assignment_expression "local_5c = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) (if_statement "if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }" if (parenthesized_expression "((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1))" ( (binary_expression "(local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)" (parenthesized_expression "(local_8c == 0 && local_84 == (CONF *)0x0)" ( (binary_expression "local_8c == 0 && local_84 == (CONF *)0x0" (binary_expression "local_8c == 0" identifier == number_literal) && (binary_expression "local_84 == (CONF *)0x0" identifier == (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) || (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) ))) )) (compound_statement "{\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }" { (expression_statement "pcVar1 = (char *)&local_40;" (assignment_expression "pcVar1 = (char *)&local_40" identifier = (cast_expression "(char *)&local_40" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_40" & identifier))) ;) (expression_statement "iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);" (assignment_expression "iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c)" identifier = (call_expression "FUN_00075b40(local_8c,local_84,pcVar1,&local_3c)" identifier (argument_list "(local_8c,local_84,pcVar1,&local_3c)" ( identifier , identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }" { (expression_statement "pcVar9 = "Error getting passwords\n";" (assignment_expression "pcVar9 = "Error getting passwords\n"" identifier = (string_literal ""Error getting passwords\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0006aee4;" goto statement_identifier ;) })) (if_statement "if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }" if (parenthesized_expression "(local_80 == (undefined **)0x0)" ( (binary_expression "local_80 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }" { (if_statement "if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }" if (parenthesized_expression "(local_7c == (undefined **)0x0)" ( (binary_expression "local_7c == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        local_7c = DAT_000c4598;\n      }" { (expression_statement "local_7c = DAT_000c4598;" (assignment_expression "local_7c = DAT_000c4598" identifier = identifier) ;) })) (if_statement "if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }" { (expression_statement "local_84 = (CONF *)FUN_00075fc0(local_7c);" (assignment_expression "local_84 = (CONF *)FUN_00075fc0(local_7c)" identifier = (cast_expression "(CONF *)FUN_00075fc0(local_7c)" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00075fc0(local_7c)" identifier (argument_list "(local_7c)" ( identifier ))))) ;) (if_statement "if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }" if (parenthesized_expression "(local_84 == (CONF *)0x0)" ( (binary_expression "local_84 == (CONF *)0x0" identifier == (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0006af12;" goto statement_identifier ;) })) }) (else_clause "else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }" else (compound_statement "{\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }" { (expression_statement "pcVar1 = (char *)local_7c;" (assignment_expression "pcVar1 = (char *)local_7c" identifier = (cast_expression "(char *)local_7c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);" (call_expression "BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c)" identifier (argument_list "(DAT_000c458c,"Using configuration from %s\n",local_7c)" ( identifier , (string_literal ""Using configuration from %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_84 = (CONF *)FUN_00075fc0(local_7c);" (assignment_expression "local_84 = (CONF *)FUN_00075fc0(local_7c)" identifier = (cast_expression "(CONF *)FUN_00075fc0(local_7c)" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00075fc0(local_7c)" identifier (argument_list "(local_7c)" ( identifier ))))) ;) (if_statement "if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }" if (parenthesized_expression "(local_84 == (CONF *)0x0)" ( (binary_expression "local_84 == (CONF *)0x0" identifier == (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) }))) (if_statement "if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }" if (parenthesized_expression "((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0))" ( (binary_expression "(DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)" (parenthesized_expression "(DAT_000c4598 == local_7c)" ( (binary_expression "DAT_000c4598 == local_7c" identifier == identifier) )) || (parenthesized_expression "(iVar3 = FUN_000770d0(local_84), iVar3 != 0)" ( (comma_expression "iVar3 = FUN_000770d0(local_84), iVar3 != 0" (assignment_expression "iVar3 = FUN_000770d0(local_84)" identifier = (call_expression "FUN_000770d0(local_84)" identifier (argument_list "(local_84)" ( identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }" { (if_statement "if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }" { (if_statement "if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }" { (expression_statement "pcVar9 = NCONF_get_string(local_84,"srp","default_srp");" (assignment_expression "pcVar9 = NCONF_get_string(local_84,"srp","default_srp")" identifier = (call_expression "NCONF_get_string(local_84,"srp","default_srp")" identifier (argument_list "(local_84,"srp","default_srp")" ( identifier , (string_literal ""srp"" " string_content ") , (string_literal ""default_srp"" " string_content ") )))) ;) (if_statement "if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }" { (expression_statement "FUN_00072430(local_84,"srp");" (call_expression "FUN_00072430(local_84,"srp")" identifier (argument_list "(local_84,"srp")" ( identifier , (string_literal ""srp"" " string_content ") ))) ;) (goto_statement "goto LAB_0006b733;" goto statement_identifier ;) })) }) (else_clause "else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }" else (compound_statement "{\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }" { (expression_statement "BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);" (call_expression "BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1)" identifier (argument_list "(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1)" ( identifier , (string_literal ""trying to read default_srp in srp\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pcVar9 = NCONF_get_string(local_84,"srp","default_srp");" (assignment_expression "pcVar9 = NCONF_get_string(local_84,"srp","default_srp")" identifier = (call_expression "NCONF_get_string(local_84,"srp","default_srp")" identifier (argument_list "(local_84,"srp","default_srp")" ( identifier , (string_literal ""srp"" " string_content ") , (string_literal ""default_srp"" " string_content ") )))) ;) (if_statement "if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }" { (expression_statement "FUN_00072430(local_84,"srp");" (call_expression "FUN_00072430(local_84,"srp")" identifier (argument_list "(local_84,"srp")" ( identifier , (string_literal ""srp"" " string_content ") ))) ;) (goto_statement "goto LAB_0006bd46;" goto statement_identifier ;) })) }))) (expression_statement "BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");" (call_expression "BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp")" identifier (argument_list "(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp")" ( identifier , (string_literal ""variable lookup failed for %s::%s\n"" " string_content escape_sequence ") , (string_literal ""srp"" " string_content ") , (string_literal ""default_srp"" " string_content ") ))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }" else (compound_statement "{\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }" { (expression_statement "FUN_00072430(local_84,"srp");" (call_expression "FUN_00072430(local_84,"srp")" identifier (argument_list "(local_84,"srp")" ( identifier , (string_literal ""srp"" " string_content ") ))) ;) (if_statement "if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }" { (labeled_statement "LAB_0006b733:\n            pcVar1 = "srpvfile";" statement_identifier : (expression_statement "pcVar1 = "srpvfile";" (assignment_expression "pcVar1 = "srpvfile"" identifier = (string_literal ""srpvfile"" " string_content ")) ;)) (expression_statement "local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");" (assignment_expression "local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile")" identifier = (cast_expression "(undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile")" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "NCONF_get_string(local_84,pcVar9,"srpvfile")" identifier (argument_list "(local_84,pcVar9,"srpvfile")" ( identifier , identifier , (string_literal ""srpvfile"" " string_content ") ))))) ;) (if_statement "if (local_80 != (undefined **)0x0) goto LAB_0006acce;" if (parenthesized_expression "(local_80 != (undefined **)0x0)" ( (binary_expression "local_80 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0006acce;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }" else (compound_statement "{\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }" { (labeled_statement "LAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);" (call_expression "BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9)" identifier (argument_list "(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9)" ( identifier , (string_literal ""trying to read srpvfile in section \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier ))) ;)) (expression_statement "local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");" (assignment_expression "local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile")" identifier = (cast_expression "(undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile")" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "NCONF_get_string(local_84,pcVar9,"srpvfile")" identifier (argument_list "(local_84,pcVar9,"srpvfile")" ( identifier , identifier , (string_literal ""srpvfile"" " string_content ") ))))) ;) (if_statement "if (local_80 != (undefined **)0x0) goto LAB_0006b095;" if (parenthesized_expression "(local_80 != (undefined **)0x0)" ( (binary_expression "local_80 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0006b095;" goto statement_identifier ;)) }))) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");" (call_expression "BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile")" identifier (argument_list "(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile")" ( identifier , (string_literal ""variable lookup failed for %s::%s\n"" " string_content escape_sequence ") , identifier , (string_literal ""srpvfile"" " string_content ") ))) ;) }))) }) (else_clause "else {\n        iVar3 = 0;\n      }" else (compound_statement "{\n        iVar3 = 0;\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0006aef8;" goto statement_identifier ;) })) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }" { (labeled_statement "LAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);" statement_identifier : (expression_statement "iVar3 = FUN_00077180(local_80,0);" (assignment_expression "iVar3 = FUN_00077180(local_80,0)" identifier = (call_expression "FUN_00077180(local_80,0)" identifier (argument_list "(local_80,0)" ( identifier , number_literal )))) ;)) (if_statement "if (iVar3 == 0) goto LAB_0006af12;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006af12;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }" else (compound_statement "{\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }" { (labeled_statement "LAB_0006b095:\n      pcVar1 = (char *)local_80;" statement_identifier : (expression_statement "pcVar1 = (char *)local_80;" (assignment_expression "pcVar1 = (char *)local_80" identifier = (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);" (call_expression "BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80)" identifier (argument_list "(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80)" ( identifier , (string_literal ""Trying to read SRP verifier file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier ))) ;) (expression_statement "iVar3 = FUN_00077180(local_80,0);" (assignment_expression "iVar3 = FUN_00077180(local_80,0)" identifier = (call_expression "FUN_00077180(local_80,0)" identifier (argument_list "(local_80,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0006b0c2;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006b0c2;" goto statement_identifier ;)) }))) (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" identifier = number_literal) ;) (expression_statement "local_8c = -1;" (assignment_expression "local_8c = -1" identifier = number_literal) ;) (for_statement "for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }" for ( (assignment_expression "iVar8 = 0" identifier = number_literal) ; (comma_expression "iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4" (assignment_expression "iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" identifier = (call_expression "OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) )))) , (binary_expression "iVar8 < iVar4" identifier < identifier)) ; (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ) (compound_statement "{\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }" { (expression_statement "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);" (assignment_expression "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8)" identifier = (cast_expression "(undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier ))))) ;) (if_statement "if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }" if (parenthesized_expression "(*(char *)*puVar5 == 'I')" ( (binary_expression "*(char *)*puVar5 == 'I'" (pointer_expression "*(char *)*puVar5" * (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) == (char_literal "'I'" ' character ')) )) (compound_statement "{\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }" { (if_statement "if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }" if (parenthesized_expression "(((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0))" ( (binary_expression "((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)" (parenthesized_expression "((iVar7 < 0) && (local_78 != (char *)0x0))" ( (binary_expression "(iVar7 < 0) && (local_78 != (char *)0x0)" (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) && (parenthesized_expression "(local_78 != (char *)0x0)" ( (binary_expression "local_78 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)" ( (comma_expression "iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0" (assignment_expression "iVar4 = strcmp(local_78,(char *)puVar5[3])" identifier = (call_expression "strcmp(local_78,(char *)puVar5[3])" identifier (argument_list "(local_78,(char *)puVar5[3])" ( identifier , (cast_expression "(char *)puVar5[3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[3]" identifier [ number_literal ])) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          iVar7 = iVar8;\n        }" { (expression_statement "iVar7 = iVar8;" (assignment_expression "iVar7 = iVar8" identifier = identifier) ;) })) (expression_statement "local_8c = iVar8;" (assignment_expression "local_8c = iVar8" identifier = identifier) ;) (if_statement "if (1 < local_94) {\n          FUN_0006a970();\n        }" if (parenthesized_expression "(1 < local_94)" ( (binary_expression "1 < local_94" number_literal < identifier) )) (compound_statement "{\n          FUN_0006a970();\n        }" { (expression_statement "FUN_0006a970();" (call_expression "FUN_0006a970()" identifier (argument_list "()" ( ))) ;) })) })) })) (if_statement "if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }" { (if_statement "if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }" { (expression_statement "local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier = (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier )))) ;) (goto_statement "goto LAB_0006b10d;" goto statement_identifier ;) })) (if_statement "if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }" if (parenthesized_expression "(((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0))" ( (binary_expression "((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)" (parenthesized_expression "((int)local_8c < 1)" ( (binary_expression "(int)local_8c < 1" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)" ( (comma_expression "iVar7 = SRP_get_default_gN(local_78), iVar7 != 0" (assignment_expression "iVar7 = SRP_get_default_gN(local_78)" identifier = (call_expression "SRP_get_default_gN(local_78)" identifier (argument_list "(local_78)" ( identifier )))) , (binary_expression "iVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }" { (labeled_statement "LAB_0006b105:\n        local_60 = 0;" statement_identifier : (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_0006b10d;" goto statement_identifier ;) })) (labeled_statement "LAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);" (call_expression "BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0)" identifier (argument_list "(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0)" ( identifier , (string_literal ""No g and N value for index \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier , number_literal ))) ;)) (goto_statement "goto LAB_0006aef8;" goto statement_identifier ;) })) (expression_statement "BIO_printf(DAT_000c458c,"Database initialised\n");" (call_expression "BIO_printf(DAT_000c458c,"Database initialised\n")" identifier (argument_list "(DAT_000c458c,"Database initialised\n")" ( identifier , (string_literal ""Database initialised\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }" { (if_statement "if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;" if (parenthesized_expression "((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))" ( (binary_expression "(0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0)" (parenthesized_expression "(0 < (int)local_8c)" ( (binary_expression "0 < (int)local_8c" number_literal < (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar7 = SRP_get_default_gN(local_78), iVar7 == 0)" ( (comma_expression "iVar7 = SRP_get_default_gN(local_78), iVar7 == 0" (assignment_expression "iVar7 = SRP_get_default_gN(local_78)" identifier = (call_expression "SRP_get_default_gN(local_78)" identifier (argument_list "(local_78)" ( identifier )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0006bb9e;" goto statement_identifier ;)) (expression_statement "BIO_printf(DAT_000c458c,"Database has no g N information.\n");" (call_expression "BIO_printf(DAT_000c458c,"Database has no g N information.\n")" identifier (argument_list "(DAT_000c458c,"Database has no g N information.\n")" ( identifier , (string_literal ""Database has no g N information.\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (local_94 < 2) goto LAB_0006b105;" if (parenthesized_expression "(local_94 < 2)" ( (binary_expression "local_94 < 2" identifier < number_literal) )) (goto_statement "goto LAB_0006b105;" goto statement_identifier ;)) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }" else (compound_statement "{\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }" { (expression_statement "local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier = (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier )))) ;) (if_statement "if (local_94 == 1) goto LAB_0006b10d;" if (parenthesized_expression "(local_94 == 1)" ( (binary_expression "local_94 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0006b10d;" goto statement_identifier ;)) (expression_statement "FUN_0006a970();" (call_expression "FUN_0006a970()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "BIO_printf(DAT_000c458c,"Starting user processing\n");" (call_expression "BIO_printf(DAT_000c458c,"Starting user processing\n")" identifier (argument_list "(DAT_000c458c,"Starting user processing\n")" ( identifier , (string_literal ""Starting user processing\n"" " string_content escape_sequence ") ))) ;) (labeled_statement "LAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;" statement_identifier : (expression_statement "local_7c = (undefined **)0x8f9d4;" (assignment_expression "local_7c = (undefined **)0x8f9d4" identifier = (cast_expression "(undefined **)0x8f9d4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (while_statement "while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }" while (parenthesized_expression "((local_5c != (undefined **)0x0 || (local_90 == 9)))" ( (parenthesized_expression "(local_5c != (undefined **)0x0 || (local_90 == 9))" ( (binary_expression "local_5c != (undefined **)0x0 || (local_90 == 9)" (binary_expression "local_5c != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) || (parenthesized_expression "(local_90 == 9)" ( (binary_expression "local_90 == 9" identifier == number_literal) ))) )) )) (compound_statement "{\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }" { (if_statement "if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }" if (parenthesized_expression "((1 < local_94) && (local_5c != (undefined **)0x0))" ( (binary_expression "(1 < local_94) && (local_5c != (undefined **)0x0)" (parenthesized_expression "(1 < local_94)" ( (binary_expression "1 < local_94" number_literal < identifier) )) && (parenthesized_expression "(local_5c != (undefined **)0x0)" ( (binary_expression "local_5c != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }" { (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c)" identifier (argument_list "(DAT_000c458c,"Processing user \"%s\"\n",local_5c)" ( identifier , (string_literal ""Processing user \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier ))) ;) (expression_statement "iVar7 = FUN_0006a9f0();" (assignment_expression "iVar7 = FUN_0006a9f0()" identifier = (call_expression "FUN_0006a9f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }" { (labeled_statement "LAB_0006b199:\n          FUN_0006aac0();" statement_identifier : (expression_statement "FUN_0006aac0();" (call_expression "FUN_0006aac0()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_0006b1a4;" goto statement_identifier ;) })) (if_statement "if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }" if (parenthesized_expression "(local_90 == 9)" ( (binary_expression "local_90 == 9" identifier == number_literal) )) (compound_statement "{\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }" { (labeled_statement "LAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c)" identifier (argument_list "(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c)" ( identifier , (string_literal ""user \"%s\" does not exist, ignored. t\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;)) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0006b1bf;" goto statement_identifier ;) })) (if_statement "if (local_90 != 6) goto LAB_0006b283;" if (parenthesized_expression "(local_90 != 6)" ( (binary_expression "local_90 != 6" identifier != number_literal) )) (goto_statement "goto LAB_0006b283;" goto statement_identifier ;)) (labeled_statement "LAB_0006b2d2:\n        local_34 = (void *)0x0;" statement_identifier : (expression_statement "local_34 = (void *)0x0;" (assignment_expression "local_34 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_30 = (void *)0x0;" (assignment_expression "local_30 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_24 = (char *)0x0;" (assignment_expression "local_24 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "pcVar1 = local_78;" (assignment_expression "pcVar1 = local_78" identifier = identifier) ;) }) (else_clause "else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }" else (compound_statement "{\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }" { (expression_statement "uVar12 = *(undefined4 *)(local_60 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(local_60 + 4)" identifier = (pointer_expression "*(undefined4 *)(local_60 + 4)" * (cast_expression "(undefined4 *)(local_60 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + 4)" ( (binary_expression "local_60 + 4" identifier + number_literal) ))))) ;) (expression_statement "pcVar1 = *(char **)(local_60 + 8);" (assignment_expression "pcVar1 = *(char **)(local_60 + 8)" identifier = (pointer_expression "*(char **)(local_60 + 8)" * (cast_expression "(char **)(local_60 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_60 + 8)" ( (binary_expression "local_60 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);" (assignment_expression "pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94)" identifier = (cast_expression "(char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94)" identifier (argument_list "(pcVar1,uVar12,local_3c,local_94)" ( identifier , identifier , identifier , identifier ))))) ;) (if_statement "if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }" { (expression_statement "BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;" (call_expression "BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)" identifier (argument_list "(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)" ( identifier , (string_literal ""Cannot create srp verifier for user \"%s\", operation abandoned .\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }" else (compound_statement "{\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }" { (expression_statement "local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);" (assignment_expression "local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be)" identifier = (call_expression "CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be)" identifier (argument_list "((char *)local_5c,"../apps/srp.c",0x1be)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (expression_statement "local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);" (assignment_expression "local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf)" identifier = (call_expression "CRYPTO_strdup("v","../apps/srp.c",0x1bf)" identifier (argument_list "("v","../apps/srp.c",0x1bf)" ( (string_literal ""v"" " string_content ") , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (expression_statement "pcVar1 = (char *)0x1c0;" (assignment_expression "pcVar1 = (char *)0x1c0" identifier = (cast_expression "(char *)0x1c0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);" (assignment_expression "local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0)" identifier = (call_expression "CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0)" identifier (argument_list "(pcVar9,"../apps/srp.c",0x1c0)" ( identifier , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (if_statement "if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }" if (parenthesized_expression "((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0))))" ( (binary_expression "(((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))" (parenthesized_expression "(((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              )" ( (binary_expression "((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)" (parenthesized_expression "((local_28 != (char *)0x0) && (local_2c != (char *)0x0))" ( (binary_expression "(local_28 != (char *)0x0) && (local_2c != (char *)0x0)" (parenthesized_expression "(local_28 != (char *)0x0)" ( (binary_expression "local_28 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_2c != (char *)0x0)" ( (binary_expression "local_2c != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(local_38 != (char *)0x0)" ( (binary_expression "local_38 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))" ( (parenthesized_expression "(local_34 != (void *)0x0 && (local_30 != (void *)0x0))" ( (binary_expression "local_34 != (void *)0x0 && (local_30 != (void *)0x0)" (binary_expression "local_34 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(local_30 != (void *)0x0)" ( (binary_expression "local_30 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ))) )) (compound_statement "{\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }" { (if_statement "if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }" if (parenthesized_expression "(local_74 != (char *)0x0)" ( (binary_expression "local_74 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }" { (expression_statement "pcVar1 = (char *)0x1c8;" (assignment_expression "pcVar1 = (char *)0x1c8" identifier = (cast_expression "(char *)0x1c8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);" (assignment_expression "local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8)" identifier = (call_expression "CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8)" identifier (argument_list "(local_74,"../apps/srp.c",0x1c8)" ( identifier , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (if_statement "if (local_24 == (char *)0x0) goto LAB_0006b979;" if (parenthesized_expression "(local_24 == (char *)0x0)" ( (binary_expression "local_24 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006b979;" goto statement_identifier ;)) })) (expression_statement "value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");" (assignment_expression "value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers")" identifier = (cast_expression "(OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers")" ( (type_descriptor "OPENSSL_STRING *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00073440(0x1c,"row pointers")" identifier (argument_list "(0x1c,"row pointers")" ( number_literal , (string_literal ""row pointers"" " string_content ") ))))) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);" do (compound_statement "{\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            }" { (expression_statement "value[iVar7] = (&local_38)[iVar7];" (assignment_expression "value[iVar7] = (&local_38)[iVar7]" (subscript_expression "value[iVar7]" identifier [ identifier ]) = (subscript_expression "(&local_38)[iVar7]" (parenthesized_expression "(&local_38)" ( (pointer_expression "&local_38" & identifier) )) [ identifier ])) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 != 6)" ( (binary_expression "iVar7 != 6" identifier != number_literal) )) ;) (expression_statement "value[6] = (OPENSSL_STRING)0x0;" (assignment_expression "value[6] = (OPENSSL_STRING)0x0" (subscript_expression "value[6]" identifier [ number_literal ]) = (cast_expression "(OPENSSL_STRING)0x0" ( (type_descriptor "OPENSSL_STRING" type_identifier) ) number_literal)) ;) (expression_statement "iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);" (assignment_expression "iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value)" identifier = (call_expression "TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value)" identifier (argument_list "(*(TXT_DB **)(iVar3 + 4),value)" ( (pointer_expression "*(TXT_DB **)(iVar3 + 4)" * (cast_expression "(TXT_DB **)(iVar3 + 4)" ( (type_descriptor "TXT_DB **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar7 != 0) goto LAB_0006b430;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006b430;" goto statement_identifier ;)) (expression_statement "BIO_printf(DAT_000c458c,"failed to update srpvfile\n");" (call_expression "BIO_printf(DAT_000c458c,"failed to update srpvfile\n")" identifier (argument_list "(DAT_000c458c,"failed to update srpvfile\n")" ( identifier , (string_literal ""failed to update srpvfile\n"" " string_content escape_sequence ") ))) ;) (expression_statement "BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));" (call_expression "BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10))" identifier (argument_list "(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10))" ( identifier , (string_literal ""TXT_DB error number %ld\n"" " string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 0x10)" ( (binary_expression "*(int *)(iVar3 + 4) + 0x10" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) ))) ;) (expression_statement "CRYPTO_free(value);" (call_expression "CRYPTO_free(value)" identifier (argument_list "(value)" ( identifier ))) ;) })) (labeled_statement "LAB_0006b979:\n          CRYPTO_free(local_2c);" statement_identifier : (expression_statement "CRYPTO_free(local_2c);" (call_expression "CRYPTO_free(local_2c)" identifier (argument_list "(local_2c)" ( identifier ))) ;)) (expression_statement "CRYPTO_free(local_28);" (call_expression "CRYPTO_free(local_28)" identifier (argument_list "(local_28)" ( identifier ))) ;) (expression_statement "CRYPTO_free(local_24);" (call_expression "CRYPTO_free(local_24)" identifier (argument_list "(local_24)" ( identifier ))) ;) (expression_statement "CRYPTO_free(local_38);" (call_expression "CRYPTO_free(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) (expression_statement "CRYPTO_free(local_34);" (call_expression "CRYPTO_free(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) (expression_statement "CRYPTO_free(local_30);" (call_expression "CRYPTO_free(local_30)" identifier (argument_list "(local_30)" ( identifier ))) ;) }))) (goto_statement "goto LAB_0006b570;" goto statement_identifier ;) })) (expression_statement "iVar7 = FUN_0006a9f0();" (assignment_expression "iVar7 = FUN_0006a9f0()" identifier = (call_expression "FUN_0006a9f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }" { (if_statement "if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;" if (parenthesized_expression "((0 < local_94) || (local_90 == 9))" ( (binary_expression "(0 < local_94) || (local_90 == 9)" (parenthesized_expression "(0 < local_94)" ( (binary_expression "0 < local_94" number_literal < identifier) )) || (parenthesized_expression "(local_90 == 9)" ( (binary_expression "local_90 == 9" identifier == number_literal) ))) )) (goto_statement "goto LAB_0006b199;" goto statement_identifier ;)) (if_statement "if (local_90 == 6) goto LAB_0006b445;" if (parenthesized_expression "(local_90 == 6)" ( (binary_expression "local_90 == 6" identifier == number_literal) )) (goto_statement "goto LAB_0006b445;" goto statement_identifier ;)) (if_statement "if (local_90 != 8) goto LAB_0006b225;" if (parenthesized_expression "(local_90 != 8)" ( (binary_expression "local_90 != 8" identifier != number_literal) )) (goto_statement "goto LAB_0006b225;" goto statement_identifier ;)) (labeled_statement "LAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" statement_identifier : (expression_statement "piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier = (cast_expression "(int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier ))))) ;)) (if_statement "if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }" if (parenthesized_expression "(*(char *)*piVar6 == 'v')" ( (binary_expression "*(char *)*piVar6 == 'v'" (pointer_expression "*(char *)*piVar6" * (cast_expression "(char *)*piVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) == (char_literal "'v'" ' character ')) )) (compound_statement "{\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }" { (expression_statement "pcVar1 = "user \"%s\" already updated, operation ignored.\n";" (assignment_expression "pcVar1 = "user \"%s\" already updated, operation ignored.\n"" identifier = (string_literal ""user \"%s\" already updated, operation ignored.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (goto_statement "goto LAB_0006b29c;" goto statement_identifier ;) })) (if_statement "if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }" if (parenthesized_expression "(*(char *)*piVar6 == 'V')" ( (binary_expression "*(char *)*piVar6 == 'V'" (pointer_expression "*(char *)*piVar6" * (cast_expression "(char *)*piVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) == (char_literal "'V'" ' character ')) )) (compound_statement "{\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }" { (if_statement "if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }" { (expression_statement "BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c)" identifier (argument_list "(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c)" ( identifier , (string_literal ""Verifying password for user \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier ))) ;) })) (expression_statement "iVar8 = FUN_0006a9f0();" (assignment_expression "iVar8 = FUN_0006a9f0()" identifier = (call_expression "FUN_0006a9f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }" if (parenthesized_expression "((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))" ( (binary_expression "(iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0)" (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0)" ( (comma_expression "iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0" (assignment_expression "iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier = (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = piVar6[4];" (assignment_expression "iVar7 = piVar6[4]" identifier = (subscript_expression "piVar6[4]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }" else (compound_statement "{\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }" { (expression_statement "uVar12 = *(undefined4 *)(iVar7 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(iVar7 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar7 + 8);" (assignment_expression "iVar7 = *(int *)(iVar7 + 8)" identifier = (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);" (assignment_expression "iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94)" identifier = (call_expression "FUN_0006a5f0(iVar7,uVar12,local_40,local_94)" identifier (argument_list "(iVar7,uVar12,local_40,local_94)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) goto LAB_0006b4b6;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006b4b6;" goto statement_identifier ;)) (expression_statement "pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";" (assignment_expression "pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n"" identifier = (string_literal ""Invalid password for user \"%s\", operation abandoned.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) }) (else_clause "else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }" else (compound_statement "{\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }" { (labeled_statement "LAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }" statement_identifier : (if_statement "if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }" { (expression_statement "BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c)" identifier (argument_list "(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c)" ( identifier , (string_literal ""Password for user \"%s\" ok.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) }))) (if_statement "if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (compound_statement "{\n            local_8c = 0;\n            uVar12 = 0;\n          }" { (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }" else (compound_statement "{\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }" { (expression_statement "local_8c = *(undefined4 *)(local_60 + 4);" (assignment_expression "local_8c = *(undefined4 *)(local_60 + 4)" identifier = (pointer_expression "*(undefined4 *)(local_60 + 4)" * (cast_expression "(undefined4 *)(local_60 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + 4)" ( (binary_expression "local_60 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(local_60 + 8);" (assignment_expression "uVar12 = *(undefined4 *)(local_60 + 8)" identifier = (pointer_expression "*(undefined4 *)(local_60 + 8)" * (cast_expression "(undefined4 *)(local_60 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + 8)" ( (binary_expression "local_60 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);" (assignment_expression "pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94)" identifier = (cast_expression "(char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0006a7e0(uVar12,local_8c,local_3c,local_94)" identifier (argument_list "(uVar12,local_8c,local_3c,local_94)" ( identifier , identifier , identifier , identifier ))))) ;) (if_statement "if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }" { (expression_statement "*(undefined1 *)*piVar6 = 0x76;" (assignment_expression "*(undefined1 *)*piVar6 = 0x76" (pointer_expression "*(undefined1 *)*piVar6" * (cast_expression "(undefined1 *)*piVar6" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) = number_literal) ;) (expression_statement "pcVar1 = (char *)0x213;" (assignment_expression "pcVar1 = (char *)0x213" identifier = (cast_expression "(char *)0x213" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);" (assignment_expression "pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213)" identifier = (call_expression "CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213)" identifier (argument_list "(pcVar9,"../apps/srp.c",0x213)" ( identifier , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (expression_statement "piVar6[4] = (int)pcVar9;" (assignment_expression "piVar6[4] = (int)pcVar9" (subscript_expression "piVar6[4]" identifier [ number_literal ]) = (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }" if (parenthesized_expression "((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0))))" ( (binary_expression "(((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))" (parenthesized_expression "(((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0))" ( (binary_expression "((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)" (parenthesized_expression "((piVar6[3] != 0) && (pcVar9 != (char *)0x0))" ( (binary_expression "(piVar6[3] != 0) && (pcVar9 != (char *)0x0)" (parenthesized_expression "(piVar6[3] != 0)" ( (binary_expression "piVar6[3] != 0" (subscript_expression "piVar6[3]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(*piVar6 != 0)" ( (binary_expression "*piVar6 != 0" (pointer_expression "*piVar6" * identifier) != number_literal) ))) )) && (parenthesized_expression "((piVar6[1] != 0 && (piVar6[2] != 0)))" ( (parenthesized_expression "(piVar6[1] != 0 && (piVar6[2] != 0))" ( (binary_expression "piVar6[1] != 0 && (piVar6[2] != 0)" (binary_expression "piVar6[1] != 0" (subscript_expression "piVar6[1]" identifier [ number_literal ]) != number_literal) && (parenthesized_expression "(piVar6[2] != 0)" ( (binary_expression "piVar6[2] != 0" (subscript_expression "piVar6[2]" identifier [ number_literal ]) != number_literal) ))) )) ))) )) (compound_statement "{\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }" { (if_statement "if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }" if (parenthesized_expression "(local_74 != (char *)0x0)" ( (binary_expression "local_74 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }" { (expression_statement "pcVar1 = (char *)0x21b;" (assignment_expression "pcVar1 = (char *)0x21b" identifier = (cast_expression "(char *)0x21b" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);" (assignment_expression "pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b)" identifier = (call_expression "CRYPTO_strdup(local_74,"../apps/srp.c",0x21b)" identifier (argument_list "(local_74,"../apps/srp.c",0x21b)" ( identifier , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (expression_statement "piVar6[5] = (int)pcVar9;" (assignment_expression "piVar6[5] = (int)pcVar9" (subscript_expression "piVar6[5]" identifier [ number_literal ]) = (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pcVar9 == (char *)0x0) goto LAB_0006b570;" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006b570;" goto statement_identifier ;)) })) (labeled_statement "LAB_0006b430:\n              local_8c = 1;" statement_identifier : (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0006b1bf;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b570:\n            local_8c = 1;" statement_identifier : (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0006b578;" goto statement_identifier ;) })) (expression_statement "pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";" (assignment_expression "pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n"" identifier = (string_literal ""Cannot create srp verifier for user \"%s\", operation abandoned.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "local_64 = extraout_ECX;" (assignment_expression "local_64 = extraout_ECX" identifier = identifier) ;) }))) (expression_statement "BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);" (call_expression "BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64)" identifier (argument_list "(DAT_000c458c,pcVar1,local_5c,local_64)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (if_statement "if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n          local_8c = 1;\n          goto LAB_0006b596;\n        }" { (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0006b596;" goto statement_identifier ;) })) (goto_statement "goto LAB_0006af12;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" statement_identifier : (if_statement "if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(local_90 == 9)" ( (binary_expression "local_90 == 9" identifier == number_literal) )) (compound_statement "{\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }" { (if_statement "if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;" if (parenthesized_expression "(local_5c == (undefined **)0x0)" ( (binary_expression "local_5c == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }" { (expression_statement "BIO_printf(DAT_000c458c,"List all users\n");" (call_expression "BIO_printf(DAT_000c458c,"List all users\n")" identifier (argument_list "(DAT_000c458c,"List all users\n")" ( identifier , (string_literal ""List all users\n"" " string_content escape_sequence ") ))) ;) (for_statement "for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }" for ( (assignment_expression "iVar7 = 0" identifier = number_literal) ; (comma_expression "iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8" (assignment_expression "iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" identifier = (call_expression "OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) )))) , (binary_expression "iVar7 < iVar8" identifier < identifier)) ; (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ) (compound_statement "{\n            FUN_0006aac0();\n          }" { (expression_statement "FUN_0006aac0();" (call_expression "FUN_0006aac0()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else if (iVar7 < 0) goto LAB_0006b5bd;" else (if_statement "if (iVar7 < 0) goto LAB_0006b5bd;" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0006b5bd;" goto statement_identifier ;)))) }) (else_clause "else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" else (if_statement "if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(local_90 == 6)" ( (binary_expression "local_90 == 6" identifier == number_literal) )) (compound_statement "{\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }" { (if_statement "if (iVar7 < 0) goto LAB_0006b2d2;" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0006b2d2;" goto statement_identifier ;)) (labeled_statement "LAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" statement_identifier : (expression_statement "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier = (cast_expression "(undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier ))))) ;)) (expression_statement "BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c)" identifier (argument_list "(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c)" ( identifier , (string_literal ""user \"%s\" reactivated.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;) (expression_statement "*(undefined1 *)*puVar5 = 0x56;" (assignment_expression "*(undefined1 *)*puVar5 = 0x56" (pointer_expression "*(undefined1 *)*puVar5" * (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) = number_literal) ;) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" else (compound_statement "{\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" { (labeled_statement "LAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }" statement_identifier : (if_statement "if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }" if (parenthesized_expression "(local_90 == 8)" ( (binary_expression "local_90 == 8" identifier == number_literal) )) (compound_statement "{\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }" { (if_statement "if (-1 < iVar7) goto LAB_0006b487;" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (goto_statement "goto LAB_0006b487;" goto statement_identifier ;)) (expression_statement "pcVar1 = "user \"%s\" does not exist, operation ignored.\n";" (assignment_expression "pcVar1 = "user \"%s\" does not exist, operation ignored.\n"" identifier = (string_literal ""user \"%s\" does not exist, operation ignored.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (labeled_statement "LAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,pcVar1,local_5c);" (call_expression "BIO_printf(DAT_000c458c,pcVar1,local_5c)" identifier (argument_list "(DAT_000c458c,pcVar1,local_5c)" ( identifier , identifier , identifier ))) ;)) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }" else (compound_statement "{\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }" { (labeled_statement "LAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }" statement_identifier : (if_statement "if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }" if (parenthesized_expression "(local_90 == 7)" ( (binary_expression "local_90 == 7" identifier == number_literal) )) (compound_statement "{\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }" { (if_statement "if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }" { (expression_statement "BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;" (call_expression "BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)" identifier (argument_list "(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)" ( identifier , (string_literal ""user \"%s\" does not exist, operation ignored. t\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }" else (compound_statement "{\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }" { (expression_statement "puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier = (cast_expression "(undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier ))))) ;) (expression_statement "BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c)" identifier (argument_list "(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c)" ( identifier , (string_literal ""user \"%s\" revoked. t\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;) (expression_statement "*(undefined1 *)*puVar5 = 0x52;" (assignment_expression "*(undefined1 *)*puVar5 = 0x52" (pointer_expression "*(undefined1 *)*puVar5" * (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) = number_literal) ;) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) }))) })))) })))))) (labeled_statement "LAB_0006b1bf:\n      local_5c = (undefined **)*local_64;" statement_identifier : (expression_statement "local_5c = (undefined **)*local_64;" (assignment_expression "local_5c = (undefined **)*local_64" identifier = (cast_expression "(undefined **)*local_64" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_64" * identifier))) ;)) (expression_statement "local_64 = local_64 + 1;" (assignment_expression "local_64 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) (if_statement "if (local_5c == (undefined **)0x0) break;" if (parenthesized_expression "(local_5c == (undefined **)0x0)" ( (binary_expression "local_5c == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (break_statement "break;" break ;)) })) (if_statement "if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }" { (expression_statement "BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);" (call_expression "BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1)" identifier (argument_list "(DAT_000c458c,"User procession done.\n",pcVar1)" ( identifier , (string_literal ""User procession done.\n"" " string_content escape_sequence ") , identifier ))) ;) })) (if_statement "if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }" if (parenthesized_expression "(local_8c != 0)" ( (binary_expression "local_8c != 0" identifier != number_literal) )) (compound_statement "{\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }" { (for_statement "for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }" for ( ; (comma_expression "iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7" (assignment_expression "iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" identifier = (call_expression "OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) )))) , (binary_expression "iVar2 < iVar7" identifier < identifier)) ; (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ) (compound_statement "{\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }" { (expression_statement "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);" (assignment_expression "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2)" identifier = (cast_expression "(undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier ))))) ;) (if_statement "if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }" if (parenthesized_expression "((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0))" ( (binary_expression "(*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)" (parenthesized_expression "(*(char *)*puVar5 == 'v')" ( (binary_expression "*(char *)*puVar5 == 'v'" (pointer_expression "*(char *)*puVar5" * (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) == (char_literal "'v'" ' character ')) )) && (parenthesized_expression "(*(char *)*puVar5 = 'V', local_94 != 0)" ( (comma_expression "*(char *)*puVar5 = 'V', local_94 != 0" (assignment_expression "*(char *)*puVar5 = 'V'" (pointer_expression "*(char *)*puVar5" * (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) = (char_literal "'V'" ' character ')) , (binary_expression "local_94 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          FUN_0006aac0();\n        }" { (expression_statement "FUN_0006aac0();" (call_expression "FUN_0006aac0()" identifier (argument_list "()" ( ))) ;) })) })) (if_statement "if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }" { (expression_statement "BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");" (call_expression "BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n")" identifier (argument_list "(DAT_000c458c,"Trying to update srpvfile.\n")" ( identifier , (string_literal ""Trying to update srpvfile.\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);" (assignment_expression "iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3)" identifier = (call_expression "FUN_00074980(local_80,&DAT_0007e978,iVar3)" identifier (argument_list "(local_80,&DAT_0007e978,iVar3)" ( identifier , (pointer_expression "&DAT_0007e978" & identifier) , identifier )))) ;) (if_statement "if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }" { (expression_statement "BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");" (call_expression "BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n")" identifier (argument_list "(DAT_000c458c,"Temporary srpvfile created.\n")" ( identifier , (string_literal ""Temporary srpvfile created.\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");" (assignment_expression "iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old")" identifier = (call_expression "FUN_00074b50(local_80,&DAT_0007e978,"old")" identifier (argument_list "(local_80,&DAT_0007e978,"old")" ( identifier , (pointer_expression "&DAT_0007e978" & identifier) , (string_literal ""old"" " string_content ") )))) ;) (if_statement "if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }" { (expression_statement "BIO_printf(DAT_000c458c,"srpvfile updated.\n");" (call_expression "BIO_printf(DAT_000c458c,"srpvfile updated.\n")" identifier (argument_list "(DAT_000c458c,"srpvfile updated.\n")" ( identifier , (string_literal ""srpvfile updated.\n"" " string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_0006b7f8;" goto statement_identifier ;) })) })) (if_statement "if (local_68 != 0) goto LAB_0006b596;" if (parenthesized_expression "(local_68 != 0)" ( (binary_expression "local_68 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006b596;" goto statement_identifier ;)) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) (expression_statement "iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);" (assignment_expression "iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3)" identifier = (call_expression "FUN_00074980(local_80,&DAT_0007e978,iVar3)" identifier (argument_list "(local_80,&DAT_0007e978,iVar3)" ( identifier , (pointer_expression "&DAT_0007e978" & identifier) , identifier )))) ;) (if_statement "if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;" if (parenthesized_expression "((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))" ( (binary_expression "(iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0)" ( (comma_expression "iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0" (assignment_expression "iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old")" identifier = (call_expression "FUN_00074b50(local_80,&DAT_0007e978,"old")" identifier (argument_list "(local_80,&DAT_0007e978,"old")" ( identifier , (pointer_expression "&DAT_0007e978" & identifier) , (string_literal ""old"" " string_content ") )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0006b7f8;" goto statement_identifier ;)) (expression_statement "CRYPTO_free(local_40);" (call_expression "CRYPTO_free(local_40)" identifier (argument_list "(local_40)" ( identifier ))) ;) (expression_statement "uVar12 = 0x25d;" (assignment_expression "uVar12 = 0x25d" identifier = number_literal) ;) (expression_statement "CRYPTO_free(local_3c);" (call_expression "CRYPTO_free(local_3c)" identifier (argument_list "(local_3c)" ( identifier ))) ;) (goto_statement "goto LAB_0006b057;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);" statement_identifier : (expression_statement "local_8c = (uint)(local_68 != 0);" (assignment_expression "local_8c = (uint)(local_68 != 0)" identifier = (call_expression "(uint)(local_68 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_68 != 0)" ( (binary_expression "local_68 != 0" identifier != number_literal) )))) ;)) (labeled_statement "LAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }" statement_identifier : (if_statement "if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }" if (parenthesized_expression "(local_68 != 0)" ( (binary_expression "local_68 != 0" identifier != number_literal) )) (compound_statement "{\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }" { (if_statement "if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }" { (labeled_statement "LAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);" (call_expression "BIO_printf(DAT_000c458c,"User errors %d.\n",local_68)" identifier (argument_list "(DAT_000c458c,"User errors %d.\n",local_68)" ( identifier , (string_literal ""User errors %d.\n"" " string_content escape_sequence ") , identifier ))) ;)) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) (goto_statement "goto LAB_0006b01a;" goto statement_identifier ;) }))) (labeled_statement "LAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;" statement_identifier : (if_statement "if (local_94 == 0) goto LAB_0006b01a;" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006b01a;" goto statement_identifier ;))) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) (expression_statement "pcVar9 = "-passin, -passout arguments only valid with one user.\n";" (assignment_expression "pcVar9 = "-passin, -passout arguments only valid with one user.\n"" identifier = (string_literal ""-passin, -passout arguments only valid with one user.\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_0006b69b:\n  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,pcVar9,ppuVar11);" (call_expression "BIO_printf(DAT_000c458c,pcVar9,ppuVar11)" identifier (argument_list "(DAT_000c458c,pcVar9,ppuVar11)" ( identifier , identifier , identifier ))) ;)) (labeled_statement "LAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";" statement_identifier : (expression_statement "pcVar9 = "%s: Use -help for summary.\n";" (assignment_expression "pcVar9 = "%s: Use -help for summary.\n"" identifier = (string_literal ""%s: Use -help for summary.\n"" " string_content escape_sequence ")) ;)) (labeled_statement "LAB_0006aee4:\n  iVar3 = 0;" statement_identifier : (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;)) (expression_statement "BIO_printf(DAT_000c458c,pcVar9,pcVar1);" (call_expression "BIO_printf(DAT_000c458c,pcVar9,pcVar1)" identifier (argument_list "(DAT_000c458c,pcVar9,pcVar1)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }" statement_identifier : (if_statement "if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }" { (labeled_statement "LAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;" statement_identifier : (expression_statement "local_7c = (undefined **)0x8f9d4;" (assignment_expression "local_7c = (undefined **)0x8f9d4" identifier = (cast_expression "(undefined **)0x8f9d4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "CRYPTO_free(local_40);" (call_expression "CRYPTO_free(local_40)" identifier (argument_list "(local_40)" ( identifier ))) ;) (expression_statement "uVar12 = 0x25d;" (assignment_expression "uVar12 = 0x25d" identifier = number_literal) ;) (expression_statement "CRYPTO_free(local_3c);" (call_expression "CRYPTO_free(local_3c)" identifier (argument_list "(local_3c)" ( identifier ))) ;) }) (else_clause "else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }" else (compound_statement "{\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }" { (labeled_statement "LAB_0006b0c2:\n    local_8c = 1;" statement_identifier : (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;)) (labeled_statement "LAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);" (call_expression "BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c)" identifier (argument_list "(DAT_000c458c,"SRP terminating with code %d.\n",local_8c)" ( identifier , (string_literal ""SRP terminating with code %d.\n"" " string_content escape_sequence ") , identifier ))) ;)) (labeled_statement "LAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;" statement_identifier : (expression_statement "local_7c = (undefined **)0x8f9d4;" (assignment_expression "local_7c = (undefined **)0x8f9d4" identifier = (cast_expression "(undefined **)0x8f9d4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "CRYPTO_free(local_40);" (call_expression "CRYPTO_free(local_40)" identifier (argument_list "(local_40)" ( identifier ))) ;) (expression_statement "uVar12 = 0x25d;" (assignment_expression "uVar12 = 0x25d" identifier = number_literal) ;) (expression_statement "CRYPTO_free(local_3c);" (call_expression "CRYPTO_free(local_3c)" identifier (argument_list "(local_3c)" ( identifier ))) ;) (if_statement "if (local_8c == 0) goto LAB_0006ae29;" if (parenthesized_expression "(local_8c == 0)" ( (binary_expression "local_8c == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006ae29;" goto statement_identifier ;)) })))) (labeled_statement "LAB_0006b057:\n  ERR_print_errors(DAT_000c458c);" statement_identifier : (expression_statement "ERR_print_errors(DAT_000c458c);" (call_expression "ERR_print_errors(DAT_000c458c)" identifier (argument_list "(DAT_000c458c)" ( identifier ))) ;)) (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;) (labeled_statement "LAB_0006ae29:\n  NCONF_free(local_84);" statement_identifier : (expression_statement "NCONF_free(local_84);" (call_expression "NCONF_free(local_84)" identifier (argument_list "(local_84)" ( identifier ))) ;)) (expression_statement "FUN_00074e20(iVar3,local_7c,uVar12);" (call_expression "FUN_00074e20(iVar3,local_7c,uVar12)" identifier (argument_list "(iVar3,local_7c,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_00074230(local_88);" (call_expression "FUN_00074230(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0007d010();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0007d010();\n  }" { comment (expression_statement "FUN_0007d010();" (call_expression "FUN_0007d010()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return local_8c;" return identifier ;) (labeled_statement "LAB_0006abe9:\n  while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }" statement_identifier : (while_statement "while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }" while (parenthesized_expression "(iVar2 < 10)" ( (binary_expression "iVar2 < 10" identifier < number_literal) )) (compound_statement "{\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }" { (if_statement "if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }" if (parenthesized_expression "(5 < iVar2)" ( (binary_expression "5 < iVar2" number_literal < identifier) )) (compound_statement "{\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }" { (expression_statement "bVar10 = local_90 == -1;" (assignment_expression "bVar10 = local_90 == -1" identifier = (binary_expression "local_90 == -1" identifier == number_literal)) ;) (expression_statement "local_90 = iVar2;" (assignment_expression "local_90 = iVar2" identifier = identifier) ;) (if_statement "if (bVar10) goto LAB_0006abe0;" if (parenthesized_expression "(bVar10)" ( identifier )) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;)) (expression_statement "pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";" (assignment_expression "pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n"" identifier = (string_literal ""%s: Only one of -add/-delete/-modify/-list\n"" " string_content escape_sequence ")) ;) (expression_statement "ppuVar11 = (undefined **)pcVar1;" (assignment_expression "ppuVar11 = (undefined **)pcVar1" identifier = (cast_expression "(undefined **)pcVar1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (goto_statement "goto LAB_0006b69b;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }" if (parenthesized_expression "(iVar2 == 2)" ( (binary_expression "iVar2 == 2" identifier == number_literal) )) (compound_statement "{\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }" { (expression_statement "local_94 = local_94 + 1;" (assignment_expression "local_94 = local_94 + 1" identifier = (binary_expression "local_94 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;) })) (if_statement "if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }" if (parenthesized_expression "(iVar2 < 3)" ( (binary_expression "iVar2 < 3" identifier < number_literal) )) (compound_statement "{\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }" { (if_statement "if (iVar2 == -1) goto LAB_0006aed6;" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0006aed6;" goto statement_identifier ;)) (if_statement "if (iVar2 != 1) goto LAB_0006abe0;" if (parenthesized_expression "(iVar2 != 1)" ( (binary_expression "iVar2 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;)) (expression_statement "FUN_00079140(&PTR_DAT_000ba060);" (call_expression "FUN_00079140(&PTR_DAT_000ba060)" identifier (argument_list "(&PTR_DAT_000ba060)" ( (pointer_expression "&PTR_DAT_000ba060" & identifier) ))) ;) (if_statement "if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }" { (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) (expression_statement "local_7c = (undefined **)0x8f9d4;" (assignment_expression "local_7c = (undefined **)0x8f9d4" identifier = (cast_expression "(undefined **)0x8f9d4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "CRYPTO_free(local_40);" (call_expression "CRYPTO_free(local_40)" identifier (argument_list "(local_40)" ( identifier ))) ;) (expression_statement "uVar12 = 0x25d;" (assignment_expression "uVar12 = 0x25d" identifier = number_literal) ;) (expression_statement "CRYPTO_free(local_3c);" (call_expression "CRYPTO_free(local_3c)" identifier (argument_list "(local_3c)" ( identifier ))) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006ae29;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }" if (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) (compound_statement "{\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }" { (expression_statement "pcVar9 = (char *)FUN_00078b30();" (assignment_expression "pcVar9 = (char *)FUN_00078b30()" identifier = (cast_expression "(char *)FUN_00078b30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;) })) (if_statement "if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }" if (parenthesized_expression "(4 < iVar2)" ( (binary_expression "4 < iVar2" number_literal < identifier) )) (compound_statement "{\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }" { (expression_statement "local_80 = (undefined **)FUN_00078b30();" (assignment_expression "local_80 = (undefined **)FUN_00078b30()" identifier = (cast_expression "(undefined **)FUN_00078b30()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;) })) (expression_statement "local_7c = (undefined **)FUN_00078b30();" (assignment_expression "local_7c = (undefined **)FUN_00078b30()" identifier = (cast_expression "(undefined **)FUN_00078b30()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar2 = FUN_00078780();" (assignment_expression "iVar2 = FUN_00078780()" identifier = (call_expression "FUN_00078780()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0006ac30;" goto statement_identifier ;) })) }))) (if_statement "if (iVar2 == 0xd) {\n    local_84 = (CONF *)FUN_00078b30();\n  }\n  else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" if (parenthesized_expression "(iVar2 == 0xd)" ( (binary_expression "iVar2 == 0xd" identifier == number_literal) )) (compound_statement "{\n    local_84 = (CONF *)FUN_00078b30();\n  }" { (expression_statement "local_84 = (CONF *)FUN_00078b30();" (assignment_expression "local_84 = (CONF *)FUN_00078b30()" identifier = (cast_expression "(CONF *)FUN_00078b30()" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" else (if_statement "if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" if (parenthesized_expression "(iVar2 < 0xe)" ( (binary_expression "iVar2 < 0xe" identifier < number_literal) )) (compound_statement "{\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }" { (if_statement "if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }" if (parenthesized_expression "(iVar2 == 0xb)" ( (binary_expression "iVar2 == 0xb" identifier == number_literal) )) (compound_statement "{\n      local_74 = (char *)FUN_00078b30();\n    }" { (expression_statement "local_74 = (char *)FUN_00078b30();" (assignment_expression "local_74 = (char *)FUN_00078b30()" identifier = (cast_expression "(char *)FUN_00078b30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }" else (if_statement "if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }" if (parenthesized_expression "(iVar2 < 0xc)" ( (binary_expression "iVar2 < 0xc" identifier < number_literal) )) (compound_statement "{\n      local_78 = (char *)FUN_00078b30();\n    }" { (expression_statement "local_78 = (char *)FUN_00078b30();" (assignment_expression "local_78 = (char *)FUN_00078b30()" identifier = (cast_expression "(char *)FUN_00078b30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else {\n      local_8c = FUN_00078b30();\n    }" else (compound_statement "{\n      local_8c = FUN_00078b30();\n    }" { (expression_statement "local_8c = FUN_00078b30();" (assignment_expression "local_8c = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) }))))) }) (else_clause "else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" else (if_statement "if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" if (parenthesized_expression "(iVar2 == 0xe)" ( (binary_expression "iVar2 == 0xe" identifier == number_literal) )) (compound_statement "{\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }" { (expression_statement "uVar12 = FUN_00078b30();" (assignment_expression "uVar12 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_88 = FUN_00074050(uVar12,0);" (assignment_expression "local_88 = FUN_00074050(uVar12,0)" identifier = (call_expression "FUN_00074050(uVar12,0)" identifier (argument_list "(uVar12,0)" ( identifier , number_literal )))) ;) }) (else_clause "else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" else (if_statement "if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" if (parenthesized_expression "((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0))" ( (binary_expression "(iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)" (parenthesized_expression "(iVar2 - 0x5ddU < 2)" ( (binary_expression "iVar2 - 0x5ddU < 2" (binary_expression "iVar2 - 0x5ddU" identifier - number_literal) < number_literal) )) && (parenthesized_expression "(iVar2 = FUN_00072560(iVar2), iVar2 == 0)" ( (comma_expression "iVar2 = FUN_00072560(iVar2), iVar2 == 0" (assignment_expression "iVar2 = FUN_00072560(iVar2)" identifier = (call_expression "FUN_00072560(iVar2)" identifier (argument_list "(iVar2)" ( identifier )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" { (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006aeb8;" goto statement_identifier ;) })))))))) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint srp_main(int argc,char **argv)\n\n{\n  int iVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  CA_DB *db;\n  int iVar5;\n  undefined4 *puVar6;\n  char *engine;\n  OPENSSL_STRING *value;\n  int *piVar7;\n  char **extraout_ECX;\n  int iVar8;\n  char *pcVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  undefined1 *puVar11;\n  char *in_stack_ffffff64;\n  int local_94;\n  int local_90;\n  char *local_8c;\n  ENGINE *local_88;\n  CONF *local_84;\n  char **local_80;\n  char **local_7c;\n  char *local_78;\n  char *local_74;\n  int local_68;\n  char **local_64;\n  int local_60;\n  char **local_5c;\n  char *passin;\n  char *passout;\n  char *row [6];\n  \n  pcVar9 = (char *)0x0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  passin = (char *)0x0;\n  passout = (char *)0x0;\n  puVar11 = srp_options;\n  pcVar2 = opt_init(argc,argv,(OPTIONS *)srp_options);\n  local_80 = (char **)0x0;\n  local_7c = (char **)0x0;\n  local_74 = (char *)0x0;\n  local_78 = (char *)0x0;\n  local_84 = (CONF *)0x0;\n  local_8c = (char *)0x0;\n  local_90 = -1;\n  local_94 = 0;\n  local_88 = (ENGINE *)0x0;\nLAB_0006abe0:\n  iVar3 = opt_next();\n  if (iVar3 != 0) goto LAB_0006abe9;\nLAB_0006ac30:\n  iVar4 = opt_num_rest();\n  local_64 = opt_rest();\n  if ((local_80 != (char **)0x0) && (local_7c != (char **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar2 = puVar11;\n    goto LAB_0006aee4;\n  }\n  if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }\n  if (local_90 - 6U < 3) {\n    if (iVar4 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (char **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (char **)0x0;\n  }\n  if ((local_8c == (char *)0x0 && local_84 == (CONF *)0x0) || (iVar4 == 1)) {\n    pcVar2 = (char *)&passin;\n    iVar4 = app_passwd(local_8c,(char *)local_84,(char **)pcVar2,&passout);\n    if (iVar4 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (char **)0x0) {\n      if (local_7c == (char **)0x0) {\n        local_7c = (char **)default_config_file;\n      }\n      if (local_94 == 0) {\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar2 = (char *)local_7c;\n        BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c);\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          local_8c = (char *)0x1;\n          goto LAB_0006b002;\n        }\n      }\n      if (((char **)default_config_file == local_7c) ||\n         (iVar4 = app_load_modules(local_84), iVar4 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");\n          db = (CA_DB *)0x0;\n        }\n        else {\n          app_RAND_load_conf(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }\n          db = (CA_DB *)0x0;\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        db = (CA_DB *)0x0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar2 = (char *)local_80;\n      BIO_printf((BIO *)bio_err,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006b0c2;\n    }\n    iVar4 = -1;\n    local_8c = (char *)0xffffffff;\n    for (iVar8 = 0; iVar5 = OPENSSL_sk_num(db->db->data), iVar8 < iVar5; iVar8 = iVar8 + 1) {\n      puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar8);\n      if (*(char *)*puVar6 == 'I') {\n        if (((iVar4 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)) {\n          iVar4 = iVar8;\n        }\n        local_8c = (char *)iVar8;\n        if (1 < local_94) {\n          print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar4) {\n        local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar4 = SRP_get_default_gN(local_78), iVar4 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf((BIO *)bio_err,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf((BIO *)bio_err,"Database initialised\n");\n    if (iVar4 < 0) {\n      if ((0 < (int)local_8c) && (iVar4 = SRP_get_default_gN(local_78), iVar4 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf((BIO *)bio_err,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n      if (local_94 == 1) goto LAB_0006b10d;\n      print_entry((CA_DB *)&db->db,iVar4,0x8fa48,in_stack_ffffff64);\n    }\n    BIO_printf((BIO *)bio_err,"Starting user processing\n");\nLAB_0006b10d:\n    local_8c = (char *)0x0;\n    local_68 = 0;\n    while ((local_5c != (char **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (char **)0x0)) {\n        pcVar2 = (char *)local_5c;\n        BIO_printf((BIO *)bio_err,"Processing user \"%s\"\n",local_5c);\n        iVar4 = get_index(db,(char *)local_5c,'U');\n        if (-1 < iVar4) {\nLAB_0006b199:\n          print_user(db,iVar4,(int)in_stack_ffffff64);\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        row[1] = (char *)0x0;\n        row[2] = (char *)0x0;\n        row[5] = (char *)0x0;\n        if (local_60 == 0) {\n          pcVar2 = (char *)0x0;\n          pcVar9 = local_78;\n        }\n        else {\n          pcVar2 = *(char **)(local_60 + 4);\n          pcVar9 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar2 = (char *)0x1c0;\n          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(row[3]);\n          CRYPTO_free(row[4]);\n          CRYPTO_free(row[5]);\n          CRYPTO_free(row[0]);\n          CRYPTO_free(row[1]);\n          CRYPTO_free(row[2]);\n        }\n        goto LAB_0006b570;\n      }\n      iVar4 = get_index(db,(char *)local_5c,'U');\n      if (-1 < iVar4) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4);\n        if (*(char *)*piVar7 == 'v') {\n          pcVar2 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar7 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = get_index(db,(char *)piVar7[4],'I');\n          if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }\n          else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }\n          pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94);\n          if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;\n          pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }\n          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }\n          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf((BIO *)bio_err,pcVar2,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = (char *)0x1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (char **)0x0) {\n          BIO_printf((BIO *)bio_err,"List all users\n");\n          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }\n        }\n        else if (iVar4 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar4 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = (char *)0x1;\n        *(undefined1 *)*puVar6 = 0x56;\n        pcVar2 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (char **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (char **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf((BIO *)bio_err,"User procession done.\n",pcVar2);\n    }\n    if (local_8c != (char *)0x0) {\n      for (; iVar4 = OPENSSL_sk_num(db->db->data), iVar3 < iVar4; iVar3 = iVar3 + 1) {\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar3);\n        if ((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0)) {\n          print_user(db,iVar3,(int)in_stack_ffffff64);\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf((BIO *)bio_err,"Trying to update srpvfile.\n");\n        iVar3 = save_index((char *)local_80,"new",db);\n        if (iVar3 != 0) {\n          BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");\n          iVar3 = rotate_index((char *)local_80,"new","old");\n          if (iVar3 != 0) {\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar3 = save_index((char *)local_80,"new",db);\n      if ((iVar3 != 0) && (iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (char *)(uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }\n  pcVar9 = "-passin, -passout arguments only valid with one user.\n";\nLAB_0006b69b:\n  BIO_printf((BIO *)bio_err,pcVar9,puVar11);\nLAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";\nLAB_0006aee4:\n  db = (CA_DB *)0x0;\n  BIO_printf((BIO *)bio_err,pcVar9,pcVar2);\n  local_84 = (CONF *)0x0;\nLAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = (char *)0x1;\nLAB_0006b002:\n    BIO_printf((BIO *)bio_err,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n    if (local_8c == (char *)0x0) goto LAB_0006ae29;\n  }\nLAB_0006b057:\n  ERR_print_errors((BIO *)bio_err);\n  local_8c = (char *)0x1;\nLAB_0006ae29:\n  NCONF_free((CONF *)local_84);\n  free_index(db);\n  release_engine(local_88);\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return (uint)local_8c;\nLAB_0006abe9:\n  while (iVar3 < 10) {\n    if (5 < iVar3) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar3;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      puVar11 = pcVar2;\n      goto LAB_0006b69b;\n    }\n    if (iVar3 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar3 < 3) {\n      if (iVar3 == -1) goto LAB_0006aed6;\n      if (iVar3 != 1) goto LAB_0006abe0;\n      opt_help((OPTIONS *)srp_options);\n      if (local_94 != 0) {\n        local_8c = (char *)0x0;\n        db = (CA_DB *)0x0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      db = (CA_DB *)0x0;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      local_8c = (char *)0x0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar3 == 4) {\n      pcVar9 = opt_arg();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar3) {\n      local_80 = (char **)opt_arg();\n      goto LAB_0006abe0;\n    }\n    local_7c = (char **)opt_arg();\n    iVar3 = opt_next();\n    if (iVar3 == 0) {\n      iVar3 = 0;\n      goto LAB_0006ac30;\n    }\n  }\n  if (iVar3 == 0xd) {\n    local_84 = (CONF *)opt_arg();\n  }\n  else if (iVar3 < 0xe) {\n    if (iVar3 == 0xb) {\n      local_74 = opt_arg();\n    }\n    else if (iVar3 < 0xc) {\n      local_78 = opt_arg();\n    }\n    else {\n      local_8c = opt_arg();\n    }\n  }\n  else if (iVar3 == 0xe) {\n    engine = opt_arg();\n    local_88 = setup_engine(engine,0);\n  }\n  else if ((iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0)) {\n    local_8c = (char *)0x1;\n    db = (CA_DB *)0x0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }\n  goto LAB_0006abe0;\n}\n\n" comment (function_definition "int srp_main(int argc,char **argv)\n\n{\n  int iVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  CA_DB *db;\n  int iVar5;\n  undefined4 *puVar6;\n  char *engine;\n  OPENSSL_STRING *value;\n  int *piVar7;\n  char **extraout_ECX;\n  int iVar8;\n  char *pcVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  undefined1 *puVar11;\n  char *in_stack_ffffff64;\n  int local_94;\n  int local_90;\n  char *local_8c;\n  ENGINE *local_88;\n  CONF *local_84;\n  char **local_80;\n  char **local_7c;\n  char *local_78;\n  char *local_74;\n  int local_68;\n  char **local_64;\n  int local_60;\n  char **local_5c;\n  char *passin;\n  char *passout;\n  char *row [6];\n  \n  pcVar9 = (char *)0x0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  passin = (char *)0x0;\n  passout = (char *)0x0;\n  puVar11 = srp_options;\n  pcVar2 = opt_init(argc,argv,(OPTIONS *)srp_options);\n  local_80 = (char **)0x0;\n  local_7c = (char **)0x0;\n  local_74 = (char *)0x0;\n  local_78 = (char *)0x0;\n  local_84 = (CONF *)0x0;\n  local_8c = (char *)0x0;\n  local_90 = -1;\n  local_94 = 0;\n  local_88 = (ENGINE *)0x0;\nLAB_0006abe0:\n  iVar3 = opt_next();\n  if (iVar3 != 0) goto LAB_0006abe9;\nLAB_0006ac30:\n  iVar4 = opt_num_rest();\n  local_64 = opt_rest();\n  if ((local_80 != (char **)0x0) && (local_7c != (char **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar2 = puVar11;\n    goto LAB_0006aee4;\n  }\n  if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }\n  if (local_90 - 6U < 3) {\n    if (iVar4 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (char **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (char **)0x0;\n  }\n  if ((local_8c == (char *)0x0 && local_84 == (CONF *)0x0) || (iVar4 == 1)) {\n    pcVar2 = (char *)&passin;\n    iVar4 = app_passwd(local_8c,(char *)local_84,(char **)pcVar2,&passout);\n    if (iVar4 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (char **)0x0) {\n      if (local_7c == (char **)0x0) {\n        local_7c = (char **)default_config_file;\n      }\n      if (local_94 == 0) {\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar2 = (char *)local_7c;\n        BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c);\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          local_8c = (char *)0x1;\n          goto LAB_0006b002;\n        }\n      }\n      if (((char **)default_config_file == local_7c) ||\n         (iVar4 = app_load_modules(local_84), iVar4 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");\n          db = (CA_DB *)0x0;\n        }\n        else {\n          app_RAND_load_conf(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }\n          db = (CA_DB *)0x0;\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        db = (CA_DB *)0x0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar2 = (char *)local_80;\n      BIO_printf((BIO *)bio_err,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006b0c2;\n    }\n    iVar4 = -1;\n    local_8c = (char *)0xffffffff;\n    for (iVar8 = 0; iVar5 = OPENSSL_sk_num(db->db->data), iVar8 < iVar5; iVar8 = iVar8 + 1) {\n      puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar8);\n      if (*(char *)*puVar6 == 'I') {\n        if (((iVar4 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)) {\n          iVar4 = iVar8;\n        }\n        local_8c = (char *)iVar8;\n        if (1 < local_94) {\n          print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar4) {\n        local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar4 = SRP_get_default_gN(local_78), iVar4 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf((BIO *)bio_err,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf((BIO *)bio_err,"Database initialised\n");\n    if (iVar4 < 0) {\n      if ((0 < (int)local_8c) && (iVar4 = SRP_get_default_gN(local_78), iVar4 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf((BIO *)bio_err,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n      if (local_94 == 1) goto LAB_0006b10d;\n      print_entry((CA_DB *)&db->db,iVar4,0x8fa48,in_stack_ffffff64);\n    }\n    BIO_printf((BIO *)bio_err,"Starting user processing\n");\nLAB_0006b10d:\n    local_8c = (char *)0x0;\n    local_68 = 0;\n    while ((local_5c != (char **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (char **)0x0)) {\n        pcVar2 = (char *)local_5c;\n        BIO_printf((BIO *)bio_err,"Processing user \"%s\"\n",local_5c);\n        iVar4 = get_index(db,(char *)local_5c,'U');\n        if (-1 < iVar4) {\nLAB_0006b199:\n          print_user(db,iVar4,(int)in_stack_ffffff64);\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        row[1] = (char *)0x0;\n        row[2] = (char *)0x0;\n        row[5] = (char *)0x0;\n        if (local_60 == 0) {\n          pcVar2 = (char *)0x0;\n          pcVar9 = local_78;\n        }\n        else {\n          pcVar2 = *(char **)(local_60 + 4);\n          pcVar9 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar2 = (char *)0x1c0;\n          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(row[3]);\n          CRYPTO_free(row[4]);\n          CRYPTO_free(row[5]);\n          CRYPTO_free(row[0]);\n          CRYPTO_free(row[1]);\n          CRYPTO_free(row[2]);\n        }\n        goto LAB_0006b570;\n      }\n      iVar4 = get_index(db,(char *)local_5c,'U');\n      if (-1 < iVar4) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4);\n        if (*(char *)*piVar7 == 'v') {\n          pcVar2 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar7 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = get_index(db,(char *)piVar7[4],'I');\n          if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }\n          else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }\n          pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94);\n          if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;\n          pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }\n          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }\n          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf((BIO *)bio_err,pcVar2,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = (char *)0x1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (char **)0x0) {\n          BIO_printf((BIO *)bio_err,"List all users\n");\n          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }\n        }\n        else if (iVar4 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar4 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = (char *)0x1;\n        *(undefined1 *)*puVar6 = 0x56;\n        pcVar2 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (char **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (char **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf((BIO *)bio_err,"User procession done.\n",pcVar2);\n    }\n    if (local_8c != (char *)0x0) {\n      for (; iVar4 = OPENSSL_sk_num(db->db->data), iVar3 < iVar4; iVar3 = iVar3 + 1) {\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar3);\n        if ((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0)) {\n          print_user(db,iVar3,(int)in_stack_ffffff64);\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf((BIO *)bio_err,"Trying to update srpvfile.\n");\n        iVar3 = save_index((char *)local_80,"new",db);\n        if (iVar3 != 0) {\n          BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");\n          iVar3 = rotate_index((char *)local_80,"new","old");\n          if (iVar3 != 0) {\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar3 = save_index((char *)local_80,"new",db);\n      if ((iVar3 != 0) && (iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (char *)(uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }\n  pcVar9 = "-passin, -passout arguments only valid with one user.\n";\nLAB_0006b69b:\n  BIO_printf((BIO *)bio_err,pcVar9,puVar11);\nLAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";\nLAB_0006aee4:\n  db = (CA_DB *)0x0;\n  BIO_printf((BIO *)bio_err,pcVar9,pcVar2);\n  local_84 = (CONF *)0x0;\nLAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = (char *)0x1;\nLAB_0006b002:\n    BIO_printf((BIO *)bio_err,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n    if (local_8c == (char *)0x0) goto LAB_0006ae29;\n  }\nLAB_0006b057:\n  ERR_print_errors((BIO *)bio_err);\n  local_8c = (char *)0x1;\nLAB_0006ae29:\n  NCONF_free((CONF *)local_84);\n  free_index(db);\n  release_engine(local_88);\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return (uint)local_8c;\nLAB_0006abe9:\n  while (iVar3 < 10) {\n    if (5 < iVar3) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar3;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      puVar11 = pcVar2;\n      goto LAB_0006b69b;\n    }\n    if (iVar3 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar3 < 3) {\n      if (iVar3 == -1) goto LAB_0006aed6;\n      if (iVar3 != 1) goto LAB_0006abe0;\n      opt_help((OPTIONS *)srp_options);\n      if (local_94 != 0) {\n        local_8c = (char *)0x0;\n        db = (CA_DB *)0x0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      db = (CA_DB *)0x0;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      local_8c = (char *)0x0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar3 == 4) {\n      pcVar9 = opt_arg();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar3) {\n      local_80 = (char **)opt_arg();\n      goto LAB_0006abe0;\n    }\n    local_7c = (char **)opt_arg();\n    iVar3 = opt_next();\n    if (iVar3 == 0) {\n      iVar3 = 0;\n      goto LAB_0006ac30;\n    }\n  }\n  if (iVar3 == 0xd) {\n    local_84 = (CONF *)opt_arg();\n  }\n  else if (iVar3 < 0xe) {\n    if (iVar3 == 0xb) {\n      local_74 = opt_arg();\n    }\n    else if (iVar3 < 0xc) {\n      local_78 = opt_arg();\n    }\n    else {\n      local_8c = opt_arg();\n    }\n  }\n  else if (iVar3 == 0xe) {\n    engine = opt_arg();\n    local_88 = setup_engine(engine,0);\n  }\n  else if ((iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0)) {\n    local_8c = (char *)0x1;\n    db = (CA_DB *)0x0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }\n  goto LAB_0006abe0;\n}" primitive_type (function_declarator "srp_main(int argc,char **argv)" identifier (parameter_list "(int argc,char **argv)" ( (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "char **argv" primitive_type (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n  int iVar1;\n  char *pcVar2;\n  int iVar3;\n  int iVar4;\n  CA_DB *db;\n  int iVar5;\n  undefined4 *puVar6;\n  char *engine;\n  OPENSSL_STRING *value;\n  int *piVar7;\n  char **extraout_ECX;\n  int iVar8;\n  char *pcVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  undefined1 *puVar11;\n  char *in_stack_ffffff64;\n  int local_94;\n  int local_90;\n  char *local_8c;\n  ENGINE *local_88;\n  CONF *local_84;\n  char **local_80;\n  char **local_7c;\n  char *local_78;\n  char *local_74;\n  int local_68;\n  char **local_64;\n  int local_60;\n  char **local_5c;\n  char *passin;\n  char *passout;\n  char *row [6];\n  \n  pcVar9 = (char *)0x0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  passin = (char *)0x0;\n  passout = (char *)0x0;\n  puVar11 = srp_options;\n  pcVar2 = opt_init(argc,argv,(OPTIONS *)srp_options);\n  local_80 = (char **)0x0;\n  local_7c = (char **)0x0;\n  local_74 = (char *)0x0;\n  local_78 = (char *)0x0;\n  local_84 = (CONF *)0x0;\n  local_8c = (char *)0x0;\n  local_90 = -1;\n  local_94 = 0;\n  local_88 = (ENGINE *)0x0;\nLAB_0006abe0:\n  iVar3 = opt_next();\n  if (iVar3 != 0) goto LAB_0006abe9;\nLAB_0006ac30:\n  iVar4 = opt_num_rest();\n  local_64 = opt_rest();\n  if ((local_80 != (char **)0x0) && (local_7c != (char **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar2 = puVar11;\n    goto LAB_0006aee4;\n  }\n  if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }\n  if (local_90 - 6U < 3) {\n    if (iVar4 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (char **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (char **)0x0;\n  }\n  if ((local_8c == (char *)0x0 && local_84 == (CONF *)0x0) || (iVar4 == 1)) {\n    pcVar2 = (char *)&passin;\n    iVar4 = app_passwd(local_8c,(char *)local_84,(char **)pcVar2,&passout);\n    if (iVar4 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (char **)0x0) {\n      if (local_7c == (char **)0x0) {\n        local_7c = (char **)default_config_file;\n      }\n      if (local_94 == 0) {\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar2 = (char *)local_7c;\n        BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c);\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          local_8c = (char *)0x1;\n          goto LAB_0006b002;\n        }\n      }\n      if (((char **)default_config_file == local_7c) ||\n         (iVar4 = app_load_modules(local_84), iVar4 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");\n          db = (CA_DB *)0x0;\n        }\n        else {\n          app_RAND_load_conf(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }\n          db = (CA_DB *)0x0;\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        db = (CA_DB *)0x0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar2 = (char *)local_80;\n      BIO_printf((BIO *)bio_err,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006b0c2;\n    }\n    iVar4 = -1;\n    local_8c = (char *)0xffffffff;\n    for (iVar8 = 0; iVar5 = OPENSSL_sk_num(db->db->data), iVar8 < iVar5; iVar8 = iVar8 + 1) {\n      puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar8);\n      if (*(char *)*puVar6 == 'I') {\n        if (((iVar4 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)) {\n          iVar4 = iVar8;\n        }\n        local_8c = (char *)iVar8;\n        if (1 < local_94) {\n          print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar4) {\n        local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar4 = SRP_get_default_gN(local_78), iVar4 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf((BIO *)bio_err,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf((BIO *)bio_err,"Database initialised\n");\n    if (iVar4 < 0) {\n      if ((0 < (int)local_8c) && (iVar4 = SRP_get_default_gN(local_78), iVar4 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf((BIO *)bio_err,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n      if (local_94 == 1) goto LAB_0006b10d;\n      print_entry((CA_DB *)&db->db,iVar4,0x8fa48,in_stack_ffffff64);\n    }\n    BIO_printf((BIO *)bio_err,"Starting user processing\n");\nLAB_0006b10d:\n    local_8c = (char *)0x0;\n    local_68 = 0;\n    while ((local_5c != (char **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (char **)0x0)) {\n        pcVar2 = (char *)local_5c;\n        BIO_printf((BIO *)bio_err,"Processing user \"%s\"\n",local_5c);\n        iVar4 = get_index(db,(char *)local_5c,'U');\n        if (-1 < iVar4) {\nLAB_0006b199:\n          print_user(db,iVar4,(int)in_stack_ffffff64);\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        row[1] = (char *)0x0;\n        row[2] = (char *)0x0;\n        row[5] = (char *)0x0;\n        if (local_60 == 0) {\n          pcVar2 = (char *)0x0;\n          pcVar9 = local_78;\n        }\n        else {\n          pcVar2 = *(char **)(local_60 + 4);\n          pcVar9 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar2 = (char *)0x1c0;\n          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(row[3]);\n          CRYPTO_free(row[4]);\n          CRYPTO_free(row[5]);\n          CRYPTO_free(row[0]);\n          CRYPTO_free(row[1]);\n          CRYPTO_free(row[2]);\n        }\n        goto LAB_0006b570;\n      }\n      iVar4 = get_index(db,(char *)local_5c,'U');\n      if (-1 < iVar4) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4);\n        if (*(char *)*piVar7 == 'v') {\n          pcVar2 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar7 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = get_index(db,(char *)piVar7[4],'I');\n          if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }\n          else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }\n          pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94);\n          if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;\n          pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }\n          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }\n          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf((BIO *)bio_err,pcVar2,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = (char *)0x1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (char **)0x0) {\n          BIO_printf((BIO *)bio_err,"List all users\n");\n          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }\n        }\n        else if (iVar4 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar4 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = (char *)0x1;\n        *(undefined1 *)*puVar6 = 0x56;\n        pcVar2 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (char **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (char **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf((BIO *)bio_err,"User procession done.\n",pcVar2);\n    }\n    if (local_8c != (char *)0x0) {\n      for (; iVar4 = OPENSSL_sk_num(db->db->data), iVar3 < iVar4; iVar3 = iVar3 + 1) {\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar3);\n        if ((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0)) {\n          print_user(db,iVar3,(int)in_stack_ffffff64);\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf((BIO *)bio_err,"Trying to update srpvfile.\n");\n        iVar3 = save_index((char *)local_80,"new",db);\n        if (iVar3 != 0) {\n          BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");\n          iVar3 = rotate_index((char *)local_80,"new","old");\n          if (iVar3 != 0) {\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar3 = save_index((char *)local_80,"new",db);\n      if ((iVar3 != 0) && (iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (char *)(uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }\n  pcVar9 = "-passin, -passout arguments only valid with one user.\n";\nLAB_0006b69b:\n  BIO_printf((BIO *)bio_err,pcVar9,puVar11);\nLAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";\nLAB_0006aee4:\n  db = (CA_DB *)0x0;\n  BIO_printf((BIO *)bio_err,pcVar9,pcVar2);\n  local_84 = (CONF *)0x0;\nLAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = (char *)0x1;\nLAB_0006b002:\n    BIO_printf((BIO *)bio_err,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n    if (local_8c == (char *)0x0) goto LAB_0006ae29;\n  }\nLAB_0006b057:\n  ERR_print_errors((BIO *)bio_err);\n  local_8c = (char *)0x1;\nLAB_0006ae29:\n  NCONF_free((CONF *)local_84);\n  free_index(db);\n  release_engine(local_88);\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return (uint)local_8c;\nLAB_0006abe9:\n  while (iVar3 < 10) {\n    if (5 < iVar3) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar3;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      puVar11 = pcVar2;\n      goto LAB_0006b69b;\n    }\n    if (iVar3 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar3 < 3) {\n      if (iVar3 == -1) goto LAB_0006aed6;\n      if (iVar3 != 1) goto LAB_0006abe0;\n      opt_help((OPTIONS *)srp_options);\n      if (local_94 != 0) {\n        local_8c = (char *)0x0;\n        db = (CA_DB *)0x0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      db = (CA_DB *)0x0;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      local_8c = (char *)0x0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar3 == 4) {\n      pcVar9 = opt_arg();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar3) {\n      local_80 = (char **)opt_arg();\n      goto LAB_0006abe0;\n    }\n    local_7c = (char **)opt_arg();\n    iVar3 = opt_next();\n    if (iVar3 == 0) {\n      iVar3 = 0;\n      goto LAB_0006ac30;\n    }\n  }\n  if (iVar3 == 0xd) {\n    local_84 = (CONF *)opt_arg();\n  }\n  else if (iVar3 < 0xe) {\n    if (iVar3 == 0xb) {\n      local_74 = opt_arg();\n    }\n    else if (iVar3 < 0xc) {\n      local_78 = opt_arg();\n    }\n    else {\n      local_8c = opt_arg();\n    }\n  }\n  else if (iVar3 == 0xe) {\n    engine = opt_arg();\n    local_88 = setup_engine(engine,0);\n  }\n  else if ((iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0)) {\n    local_8c = (char *)0x1;\n    db = (CA_DB *)0x0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }\n  goto LAB_0006abe0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "CA_DB *db;" type_identifier (pointer_declarator "*db" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "char *engine;" primitive_type (pointer_declarator "*engine" * identifier) ;) (declaration "OPENSSL_STRING *value;" type_identifier (pointer_declarator "*value" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "char **extraout_ECX;" primitive_type (pointer_declarator "**extraout_ECX" * (pointer_declarator "*extraout_ECX" * identifier)) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "char *in_stack_ffffff64;" primitive_type (pointer_declarator "*in_stack_ffffff64" * identifier) ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "char *local_8c;" primitive_type (pointer_declarator "*local_8c" * identifier) ;) (declaration "ENGINE *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "CONF *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "char **local_80;" primitive_type (pointer_declarator "**local_80" * (pointer_declarator "*local_80" * identifier)) ;) (declaration "char **local_7c;" primitive_type (pointer_declarator "**local_7c" * (pointer_declarator "*local_7c" * identifier)) ;) (declaration "char *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "char *local_74;" primitive_type (pointer_declarator "*local_74" * identifier) ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "char **local_64;" primitive_type (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "char **local_5c;" primitive_type (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)) ;) (declaration "char *passin;" primitive_type (pointer_declarator "*passin" * identifier) ;) (declaration "char *passout;" primitive_type (pointer_declarator "*passout" * identifier) ;) (declaration "char *row [6];" primitive_type (pointer_declarator "*row [6]" * (array_declarator "row [6]" identifier [ number_literal ])) ;) (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "passin = (char *)0x0;" (assignment_expression "passin = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "passout = (char *)0x0;" (assignment_expression "passout = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar11 = srp_options;" (assignment_expression "puVar11 = srp_options" identifier = identifier) ;) (expression_statement "pcVar2 = opt_init(argc,argv,(OPTIONS *)srp_options);" (assignment_expression "pcVar2 = opt_init(argc,argv,(OPTIONS *)srp_options)" identifier = (call_expression "opt_init(argc,argv,(OPTIONS *)srp_options)" identifier (argument_list "(argc,argv,(OPTIONS *)srp_options)" ( identifier , identifier , (cast_expression "(OPTIONS *)srp_options" ( (type_descriptor "OPTIONS *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "local_80 = (char **)0x0;" (assignment_expression "local_80 = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_7c = (char **)0x0;" (assignment_expression "local_7c = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_74 = (char *)0x0;" (assignment_expression "local_74 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = (char *)0x0;" (assignment_expression "local_8c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_90 = -1;" (assignment_expression "local_90 = -1" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_88 = (ENGINE *)0x0;" (assignment_expression "local_88 = (ENGINE *)0x0" identifier = (cast_expression "(ENGINE *)0x0" ( (type_descriptor "ENGINE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0006abe0:\n  iVar3 = opt_next();" statement_identifier : (expression_statement "iVar3 = opt_next();" (assignment_expression "iVar3 = opt_next()" identifier = (call_expression "opt_next()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar3 != 0) goto LAB_0006abe9;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006abe9;" goto statement_identifier ;)) (labeled_statement "LAB_0006ac30:\n  iVar4 = opt_num_rest();" statement_identifier : (expression_statement "iVar4 = opt_num_rest();" (assignment_expression "iVar4 = opt_num_rest()" identifier = (call_expression "opt_num_rest()" identifier (argument_list "()" ( )))) ;)) (expression_statement "local_64 = opt_rest();" (assignment_expression "local_64 = opt_rest()" identifier = (call_expression "opt_rest()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((local_80 != (char **)0x0) && (local_7c != (char **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar2 = puVar11;\n    goto LAB_0006aee4;\n  }" if (parenthesized_expression "((local_80 != (char **)0x0) && (local_7c != (char **)0x0))" ( (binary_expression "(local_80 != (char **)0x0) && (local_7c != (char **)0x0)" (parenthesized_expression "(local_80 != (char **)0x0)" ( (binary_expression "local_80 != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(local_7c != (char **)0x0)" ( (binary_expression "local_7c != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar2 = puVar11;\n    goto LAB_0006aee4;\n  }" { (expression_statement "pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";" (assignment_expression "pcVar9 = "-srpvfile and -configfile cannot be specified together.\n"" identifier = (string_literal ""-srpvfile and -configfile cannot be specified together.\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar2 = puVar11;" (assignment_expression "pcVar2 = puVar11" identifier = identifier) ;) (goto_statement "goto LAB_0006aee4;" goto statement_identifier ;) })) (if_statement "if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }" if (parenthesized_expression "(local_90 == -1)" ( (binary_expression "local_90 == -1" identifier == number_literal) )) (compound_statement "{\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }" { (expression_statement "pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";" (assignment_expression "pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n"" identifier = (string_literal ""Exactly one of the options -add, -delete, -modify -list must be specified.\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0006b69b;" goto statement_identifier ;) })) (if_statement "if (local_90 - 6U < 3) {\n    if (iVar4 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (char **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (char **)0x0;\n  }" if (parenthesized_expression "(local_90 - 6U < 3)" ( (binary_expression "local_90 - 6U < 3" (binary_expression "local_90 - 6U" identifier - number_literal) < number_literal) )) (compound_statement "{\n    if (iVar4 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (char **)*local_64;\n    local_64 = local_64 + 1;\n  }" { (if_statement "if (iVar4 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }" { (expression_statement "pcVar9 = "Need at least one user.\n";" (assignment_expression "pcVar9 = "Need at least one user.\n"" identifier = (string_literal ""Need at least one user.\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0006b69b;" goto statement_identifier ;) })) (expression_statement "local_5c = (char **)*local_64;" (assignment_expression "local_5c = (char **)*local_64" identifier = (cast_expression "(char **)*local_64" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_64" * identifier))) ;) (expression_statement "local_64 = local_64 + 1;" (assignment_expression "local_64 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n    local_5c = (char **)0x0;\n  }" else (compound_statement "{\n    local_5c = (char **)0x0;\n  }" { (expression_statement "local_5c = (char **)0x0;" (assignment_expression "local_5c = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) (if_statement "if ((local_8c == (char *)0x0 && local_84 == (CONF *)0x0) || (iVar4 == 1)) {\n    pcVar2 = (char *)&passin;\n    iVar4 = app_passwd(local_8c,(char *)local_84,(char **)pcVar2,&passout);\n    if (iVar4 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (char **)0x0) {\n      if (local_7c == (char **)0x0) {\n        local_7c = (char **)default_config_file;\n      }\n      if (local_94 == 0) {\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar2 = (char *)local_7c;\n        BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c);\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          local_8c = (char *)0x1;\n          goto LAB_0006b002;\n        }\n      }\n      if (((char **)default_config_file == local_7c) ||\n         (iVar4 = app_load_modules(local_84), iVar4 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");\n          db = (CA_DB *)0x0;\n        }\n        else {\n          app_RAND_load_conf(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }\n          db = (CA_DB *)0x0;\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        db = (CA_DB *)0x0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar2 = (char *)local_80;\n      BIO_printf((BIO *)bio_err,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006b0c2;\n    }\n    iVar4 = -1;\n    local_8c = (char *)0xffffffff;\n    for (iVar8 = 0; iVar5 = OPENSSL_sk_num(db->db->data), iVar8 < iVar5; iVar8 = iVar8 + 1) {\n      puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar8);\n      if (*(char *)*puVar6 == 'I') {\n        if (((iVar4 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)) {\n          iVar4 = iVar8;\n        }\n        local_8c = (char *)iVar8;\n        if (1 < local_94) {\n          print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar4) {\n        local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar4 = SRP_get_default_gN(local_78), iVar4 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf((BIO *)bio_err,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf((BIO *)bio_err,"Database initialised\n");\n    if (iVar4 < 0) {\n      if ((0 < (int)local_8c) && (iVar4 = SRP_get_default_gN(local_78), iVar4 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf((BIO *)bio_err,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n      if (local_94 == 1) goto LAB_0006b10d;\n      print_entry((CA_DB *)&db->db,iVar4,0x8fa48,in_stack_ffffff64);\n    }\n    BIO_printf((BIO *)bio_err,"Starting user processing\n");\nLAB_0006b10d:\n    local_8c = (char *)0x0;\n    local_68 = 0;\n    while ((local_5c != (char **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (char **)0x0)) {\n        pcVar2 = (char *)local_5c;\n        BIO_printf((BIO *)bio_err,"Processing user \"%s\"\n",local_5c);\n        iVar4 = get_index(db,(char *)local_5c,'U');\n        if (-1 < iVar4) {\nLAB_0006b199:\n          print_user(db,iVar4,(int)in_stack_ffffff64);\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        row[1] = (char *)0x0;\n        row[2] = (char *)0x0;\n        row[5] = (char *)0x0;\n        if (local_60 == 0) {\n          pcVar2 = (char *)0x0;\n          pcVar9 = local_78;\n        }\n        else {\n          pcVar2 = *(char **)(local_60 + 4);\n          pcVar9 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar2 = (char *)0x1c0;\n          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(row[3]);\n          CRYPTO_free(row[4]);\n          CRYPTO_free(row[5]);\n          CRYPTO_free(row[0]);\n          CRYPTO_free(row[1]);\n          CRYPTO_free(row[2]);\n        }\n        goto LAB_0006b570;\n      }\n      iVar4 = get_index(db,(char *)local_5c,'U');\n      if (-1 < iVar4) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4);\n        if (*(char *)*piVar7 == 'v') {\n          pcVar2 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar7 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = get_index(db,(char *)piVar7[4],'I');\n          if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }\n          else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }\n          pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94);\n          if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;\n          pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }\n          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }\n          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf((BIO *)bio_err,pcVar2,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = (char *)0x1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (char **)0x0) {\n          BIO_printf((BIO *)bio_err,"List all users\n");\n          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }\n        }\n        else if (iVar4 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar4 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = (char *)0x1;\n        *(undefined1 *)*puVar6 = 0x56;\n        pcVar2 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (char **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (char **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf((BIO *)bio_err,"User procession done.\n",pcVar2);\n    }\n    if (local_8c != (char *)0x0) {\n      for (; iVar4 = OPENSSL_sk_num(db->db->data), iVar3 < iVar4; iVar3 = iVar3 + 1) {\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar3);\n        if ((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0)) {\n          print_user(db,iVar3,(int)in_stack_ffffff64);\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf((BIO *)bio_err,"Trying to update srpvfile.\n");\n        iVar3 = save_index((char *)local_80,"new",db);\n        if (iVar3 != 0) {\n          BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");\n          iVar3 = rotate_index((char *)local_80,"new","old");\n          if (iVar3 != 0) {\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar3 = save_index((char *)local_80,"new",db);\n      if ((iVar3 != 0) && (iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (char *)(uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }" if (parenthesized_expression "((local_8c == (char *)0x0 && local_84 == (CONF *)0x0) || (iVar4 == 1))" ( (binary_expression "(local_8c == (char *)0x0 && local_84 == (CONF *)0x0) || (iVar4 == 1)" (parenthesized_expression "(local_8c == (char *)0x0 && local_84 == (CONF *)0x0)" ( (binary_expression "local_8c == (char *)0x0 && local_84 == (CONF *)0x0" (binary_expression "local_8c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "local_84 == (CONF *)0x0" identifier == (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) || (parenthesized_expression "(iVar4 == 1)" ( (binary_expression "iVar4 == 1" identifier == number_literal) ))) )) (compound_statement "{\n    pcVar2 = (char *)&passin;\n    iVar4 = app_passwd(local_8c,(char *)local_84,(char **)pcVar2,&passout);\n    if (iVar4 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (char **)0x0) {\n      if (local_7c == (char **)0x0) {\n        local_7c = (char **)default_config_file;\n      }\n      if (local_94 == 0) {\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar2 = (char *)local_7c;\n        BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c);\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          local_8c = (char *)0x1;\n          goto LAB_0006b002;\n        }\n      }\n      if (((char **)default_config_file == local_7c) ||\n         (iVar4 = app_load_modules(local_84), iVar4 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");\n          db = (CA_DB *)0x0;\n        }\n        else {\n          app_RAND_load_conf(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }\n          db = (CA_DB *)0x0;\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        db = (CA_DB *)0x0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar2 = (char *)local_80;\n      BIO_printf((BIO *)bio_err,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006b0c2;\n    }\n    iVar4 = -1;\n    local_8c = (char *)0xffffffff;\n    for (iVar8 = 0; iVar5 = OPENSSL_sk_num(db->db->data), iVar8 < iVar5; iVar8 = iVar8 + 1) {\n      puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar8);\n      if (*(char *)*puVar6 == 'I') {\n        if (((iVar4 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)) {\n          iVar4 = iVar8;\n        }\n        local_8c = (char *)iVar8;\n        if (1 < local_94) {\n          print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar4) {\n        local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar4 = SRP_get_default_gN(local_78), iVar4 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf((BIO *)bio_err,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf((BIO *)bio_err,"Database initialised\n");\n    if (iVar4 < 0) {\n      if ((0 < (int)local_8c) && (iVar4 = SRP_get_default_gN(local_78), iVar4 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf((BIO *)bio_err,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n      if (local_94 == 1) goto LAB_0006b10d;\n      print_entry((CA_DB *)&db->db,iVar4,0x8fa48,in_stack_ffffff64);\n    }\n    BIO_printf((BIO *)bio_err,"Starting user processing\n");\nLAB_0006b10d:\n    local_8c = (char *)0x0;\n    local_68 = 0;\n    while ((local_5c != (char **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (char **)0x0)) {\n        pcVar2 = (char *)local_5c;\n        BIO_printf((BIO *)bio_err,"Processing user \"%s\"\n",local_5c);\n        iVar4 = get_index(db,(char *)local_5c,'U');\n        if (-1 < iVar4) {\nLAB_0006b199:\n          print_user(db,iVar4,(int)in_stack_ffffff64);\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        row[1] = (char *)0x0;\n        row[2] = (char *)0x0;\n        row[5] = (char *)0x0;\n        if (local_60 == 0) {\n          pcVar2 = (char *)0x0;\n          pcVar9 = local_78;\n        }\n        else {\n          pcVar2 = *(char **)(local_60 + 4);\n          pcVar9 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar2 = (char *)0x1c0;\n          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(row[3]);\n          CRYPTO_free(row[4]);\n          CRYPTO_free(row[5]);\n          CRYPTO_free(row[0]);\n          CRYPTO_free(row[1]);\n          CRYPTO_free(row[2]);\n        }\n        goto LAB_0006b570;\n      }\n      iVar4 = get_index(db,(char *)local_5c,'U');\n      if (-1 < iVar4) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4);\n        if (*(char *)*piVar7 == 'v') {\n          pcVar2 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar7 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = get_index(db,(char *)piVar7[4],'I');\n          if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }\n          else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }\n          pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94);\n          if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;\n          pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }\n          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }\n          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf((BIO *)bio_err,pcVar2,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = (char *)0x1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (char **)0x0) {\n          BIO_printf((BIO *)bio_err,"List all users\n");\n          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }\n        }\n        else if (iVar4 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar4 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = (char *)0x1;\n        *(undefined1 *)*puVar6 = 0x56;\n        pcVar2 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (char **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (char **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf((BIO *)bio_err,"User procession done.\n",pcVar2);\n    }\n    if (local_8c != (char *)0x0) {\n      for (; iVar4 = OPENSSL_sk_num(db->db->data), iVar3 < iVar4; iVar3 = iVar3 + 1) {\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar3);\n        if ((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0)) {\n          print_user(db,iVar3,(int)in_stack_ffffff64);\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf((BIO *)bio_err,"Trying to update srpvfile.\n");\n        iVar3 = save_index((char *)local_80,"new",db);\n        if (iVar3 != 0) {\n          BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");\n          iVar3 = rotate_index((char *)local_80,"new","old");\n          if (iVar3 != 0) {\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar3 = save_index((char *)local_80,"new",db);\n      if ((iVar3 != 0) && (iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (char *)(uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }" { (expression_statement "pcVar2 = (char *)&passin;" (assignment_expression "pcVar2 = (char *)&passin" identifier = (cast_expression "(char *)&passin" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&passin" & identifier))) ;) (expression_statement "iVar4 = app_passwd(local_8c,(char *)local_84,(char **)pcVar2,&passout);" (assignment_expression "iVar4 = app_passwd(local_8c,(char *)local_84,(char **)pcVar2,&passout)" identifier = (call_expression "app_passwd(local_8c,(char *)local_84,(char **)pcVar2,&passout)" identifier (argument_list "(local_8c,(char *)local_84,(char **)pcVar2,&passout)" ( identifier , (cast_expression "(char *)local_84" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)pcVar2" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (pointer_expression "&passout" & identifier) )))) ;) (if_statement "if (iVar4 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }" { (expression_statement "pcVar9 = "Error getting passwords\n";" (assignment_expression "pcVar9 = "Error getting passwords\n"" identifier = (string_literal ""Error getting passwords\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0006aee4;" goto statement_identifier ;) })) (if_statement "if (local_80 == (char **)0x0) {\n      if (local_7c == (char **)0x0) {\n        local_7c = (char **)default_config_file;\n      }\n      if (local_94 == 0) {\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar2 = (char *)local_7c;\n        BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c);\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          local_8c = (char *)0x1;\n          goto LAB_0006b002;\n        }\n      }\n      if (((char **)default_config_file == local_7c) ||\n         (iVar4 = app_load_modules(local_84), iVar4 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");\n          db = (CA_DB *)0x0;\n        }\n        else {\n          app_RAND_load_conf(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }\n          db = (CA_DB *)0x0;\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        db = (CA_DB *)0x0;\n      }\n      goto LAB_0006aef8;\n    }" if (parenthesized_expression "(local_80 == (char **)0x0)" ( (binary_expression "local_80 == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      if (local_7c == (char **)0x0) {\n        local_7c = (char **)default_config_file;\n      }\n      if (local_94 == 0) {\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar2 = (char *)local_7c;\n        BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c);\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          local_8c = (char *)0x1;\n          goto LAB_0006b002;\n        }\n      }\n      if (((char **)default_config_file == local_7c) ||\n         (iVar4 = app_load_modules(local_84), iVar4 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");\n          db = (CA_DB *)0x0;\n        }\n        else {\n          app_RAND_load_conf(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }\n          db = (CA_DB *)0x0;\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        db = (CA_DB *)0x0;\n      }\n      goto LAB_0006aef8;\n    }" { (if_statement "if (local_7c == (char **)0x0) {\n        local_7c = (char **)default_config_file;\n      }" if (parenthesized_expression "(local_7c == (char **)0x0)" ( (binary_expression "local_7c == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        local_7c = (char **)default_config_file;\n      }" { (expression_statement "local_7c = (char **)default_config_file;" (assignment_expression "local_7c = (char **)default_config_file" identifier = (cast_expression "(char **)default_config_file" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) (if_statement "if (local_94 == 0) {\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar2 = (char *)local_7c;\n        BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c);\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          local_8c = (char *)0x1;\n          goto LAB_0006b002;\n        }\n      }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          goto LAB_0006af12;\n        }\n      }" { (expression_statement "local_84 = app_load_config((char *)local_7c);" (assignment_expression "local_84 = app_load_config((char *)local_7c)" identifier = (call_expression "app_load_config((char *)local_7c)" identifier (argument_list "((char *)local_7c)" ( (cast_expression "(char *)local_7c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          goto LAB_0006af12;\n        }" if (parenthesized_expression "(local_84 == (CONF *)0x0)" ( (binary_expression "local_84 == (CONF *)0x0" identifier == (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          db = (CA_DB *)0x0;\n          goto LAB_0006af12;\n        }" { (expression_statement "db = (CA_DB *)0x0;" (assignment_expression "db = (CA_DB *)0x0" identifier = (cast_expression "(CA_DB *)0x0" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006af12;" goto statement_identifier ;) })) }) (else_clause "else {\n        pcVar2 = (char *)local_7c;\n        BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c);\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          local_8c = (char *)0x1;\n          goto LAB_0006b002;\n        }\n      }" else (compound_statement "{\n        pcVar2 = (char *)local_7c;\n        BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c);\n        local_84 = app_load_config((char *)local_7c);\n        if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          local_8c = (char *)0x1;\n          goto LAB_0006b002;\n        }\n      }" { (expression_statement "pcVar2 = (char *)local_7c;" (assignment_expression "pcVar2 = (char *)local_7c" identifier = (cast_expression "(char *)local_7c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c);" (call_expression "BIO_printf((BIO *)bio_err,"Using configuration from %s\n",local_7c)" identifier (argument_list "((BIO *)bio_err,"Using configuration from %s\n",local_7c)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Using configuration from %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_84 = app_load_config((char *)local_7c);" (assignment_expression "local_84 = app_load_config((char *)local_7c)" identifier = (call_expression "app_load_config((char *)local_7c)" identifier (argument_list "((char *)local_7c)" ( (cast_expression "(char *)local_7c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (local_84 == (CONF *)0x0) {\n          db = (CA_DB *)0x0;\n          local_8c = (char *)0x1;\n          goto LAB_0006b002;\n        }" if (parenthesized_expression "(local_84 == (CONF *)0x0)" ( (binary_expression "local_84 == (CONF *)0x0" identifier == (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          db = (CA_DB *)0x0;\n          local_8c = (char *)0x1;\n          goto LAB_0006b002;\n        }" { (expression_statement "db = (CA_DB *)0x0;" (assignment_expression "db = (CA_DB *)0x0" identifier = (cast_expression "(CA_DB *)0x0" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = (char *)0x1;" (assignment_expression "local_8c = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) }))) (if_statement "if (((char **)default_config_file == local_7c) ||\n         (iVar4 = app_load_modules(local_84), iVar4 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");\n          db = (CA_DB *)0x0;\n        }\n        else {\n          app_RAND_load_conf(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }\n          db = (CA_DB *)0x0;\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        db = (CA_DB *)0x0;\n      }" if (parenthesized_expression "(((char **)default_config_file == local_7c) ||\n         (iVar4 = app_load_modules(local_84), iVar4 != 0))" ( (binary_expression "((char **)default_config_file == local_7c) ||\n         (iVar4 = app_load_modules(local_84), iVar4 != 0)" (parenthesized_expression "((char **)default_config_file == local_7c)" ( (binary_expression "(char **)default_config_file == local_7c" (cast_expression "(char **)default_config_file" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) == identifier) )) || (parenthesized_expression "(iVar4 = app_load_modules(local_84), iVar4 != 0)" ( (comma_expression "iVar4 = app_load_modules(local_84), iVar4 != 0" (assignment_expression "iVar4 = app_load_modules(local_84)" identifier = (call_expression "app_load_modules(local_84)" identifier (argument_list "(local_84)" ( identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");\n          db = (CA_DB *)0x0;\n        }\n        else {\n          app_RAND_load_conf(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }\n          db = (CA_DB *)0x0;\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }" { (if_statement "if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");\n          db = (CA_DB *)0x0;\n        }\n        else {\n          app_RAND_load_conf(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }\n          db = (CA_DB *)0x0;\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");\n          db = (CA_DB *)0x0;\n        }" { (if_statement "if (local_94 == 0) {\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }" { (expression_statement "pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");" (assignment_expression "pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp")" identifier = (call_expression "NCONF_get_string((CONF *)local_84,"srp","default_srp")" identifier (argument_list "((CONF *)local_84,"srp","default_srp")" ( (cast_expression "(CONF *)local_84" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""srp"" " string_content ") , (string_literal ""default_srp"" " string_content ") )))) ;) (if_statement "if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006b733;\n            }" { (expression_statement "app_RAND_load_conf(local_84,"srp");" (call_expression "app_RAND_load_conf(local_84,"srp")" identifier (argument_list "(local_84,"srp")" ( identifier , (string_literal ""srp"" " string_content ") ))) ;) (goto_statement "goto LAB_0006b733;" goto statement_identifier ;) })) }) (else_clause "else {\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }" else (compound_statement "{\n            BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);\n            pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }" { (expression_statement "BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2);" (call_expression "BIO_printf((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2)" identifier (argument_list "((BIO *)bio_err,"trying to read default_srp in srp\n",pcVar2)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""trying to read default_srp in srp\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp");" (assignment_expression "pcVar9 = NCONF_get_string((CONF *)local_84,"srp","default_srp")" identifier = (call_expression "NCONF_get_string((CONF *)local_84,"srp","default_srp")" identifier (argument_list "((CONF *)local_84,"srp","default_srp")" ( (cast_expression "(CONF *)local_84" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""srp"" " string_content ") , (string_literal ""default_srp"" " string_content ") )))) ;) (if_statement "if (pcVar9 != (char *)0x0) {\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              app_RAND_load_conf(local_84,"srp");\n              goto LAB_0006bd46;\n            }" { (expression_statement "app_RAND_load_conf(local_84,"srp");" (call_expression "app_RAND_load_conf(local_84,"srp")" identifier (argument_list "(local_84,"srp")" ( identifier , (string_literal ""srp"" " string_content ") ))) ;) (goto_statement "goto LAB_0006bd46;" goto statement_identifier ;) })) }))) (expression_statement "BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");" (call_expression "BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp")" identifier (argument_list "((BIO *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp")" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""variable lookup failed for %s::%s\n"" " string_content escape_sequence ") , (string_literal ""srp"" " string_content ") , (string_literal ""default_srp"" " string_content ") ))) ;) (expression_statement "db = (CA_DB *)0x0;" (assignment_expression "db = (CA_DB *)0x0" identifier = (cast_expression "(CA_DB *)0x0" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          app_RAND_load_conf(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }\n          db = (CA_DB *)0x0;\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }" else (compound_statement "{\n          app_RAND_load_conf(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }\n          db = (CA_DB *)0x0;\n          BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }" { (expression_statement "app_RAND_load_conf(local_84,"srp");" (call_expression "app_RAND_load_conf(local_84,"srp")" identifier (argument_list "(local_84,"srp")" ( identifier , (string_literal ""srp"" " string_content ") ))) ;) (if_statement "if (local_94 == 0) {\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0006b733:\n            pcVar2 = "srpvfile";\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006acce;\n          }" { (labeled_statement "LAB_0006b733:\n            pcVar2 = "srpvfile";" statement_identifier : (expression_statement "pcVar2 = "srpvfile";" (assignment_expression "pcVar2 = "srpvfile"" identifier = (string_literal ""srpvfile"" " string_content ")) ;)) (expression_statement "local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");" (assignment_expression "local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile")" identifier = (cast_expression "(char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile")" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile")" identifier (argument_list "((CONF *)local_84,pcVar9,"srpvfile")" ( (cast_expression "(CONF *)local_84" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (string_literal ""srpvfile"" " string_content ") ))))) ;) (if_statement "if (local_80 != (char **)0x0) goto LAB_0006acce;" if (parenthesized_expression "(local_80 != (char **)0x0)" ( (binary_expression "local_80 != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0006acce;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }" else (compound_statement "{\nLAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");\n            if (local_80 != (char **)0x0) goto LAB_0006b095;\n          }" { (labeled_statement "LAB_0006bd46:\n            BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);" statement_identifier : (expression_statement "BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9);" (call_expression "BIO_printf((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9)" identifier (argument_list "((BIO *)bio_err,"trying to read srpvfile in section \"%s\"\n",pcVar9)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""trying to read srpvfile in section \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier ))) ;)) (expression_statement "local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile");" (assignment_expression "local_80 = (char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile")" identifier = (cast_expression "(char **)NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile")" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "NCONF_get_string((CONF *)local_84,pcVar9,"srpvfile")" identifier (argument_list "((CONF *)local_84,pcVar9,"srpvfile")" ( (cast_expression "(CONF *)local_84" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (string_literal ""srpvfile"" " string_content ") ))))) ;) (if_statement "if (local_80 != (char **)0x0) goto LAB_0006b095;" if (parenthesized_expression "(local_80 != (char **)0x0)" ( (binary_expression "local_80 != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0006b095;" goto statement_identifier ;)) }))) (expression_statement "db = (CA_DB *)0x0;" (assignment_expression "db = (CA_DB *)0x0" identifier = (cast_expression "(CA_DB *)0x0" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");" (call_expression "BIO_printf((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile")" identifier (argument_list "((BIO *)bio_err,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile")" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""variable lookup failed for %s::%s\n"" " string_content escape_sequence ") , identifier , (string_literal ""srpvfile"" " string_content ") ))) ;) }))) }) (else_clause "else {\n        db = (CA_DB *)0x0;\n      }" else (compound_statement "{\n        db = (CA_DB *)0x0;\n      }" { (expression_statement "db = (CA_DB *)0x0;" (assignment_expression "db = (CA_DB *)0x0" identifier = (cast_expression "(CA_DB *)0x0" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_0006aef8;" goto statement_identifier ;) })) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_94 == 0) {\nLAB_0006acce:\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar2 = (char *)local_80;\n      BIO_printf((BIO *)bio_err,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006b0c2;\n    }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0006acce:\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006af12;\n    }" { (labeled_statement "LAB_0006acce:\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);" statement_identifier : (expression_statement "db = load_index((char *)local_80,(DB_ATTR *)0x0);" (assignment_expression "db = load_index((char *)local_80,(DB_ATTR *)0x0)" identifier = (call_expression "load_index((char *)local_80,(DB_ATTR *)0x0)" identifier (argument_list "((char *)local_80,(DB_ATTR *)0x0)" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(DB_ATTR *)0x0" ( (type_descriptor "DB_ATTR *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;)) (if_statement "if (db == (CA_DB *)0x0) goto LAB_0006af12;" if (parenthesized_expression "(db == (CA_DB *)0x0)" ( (binary_expression "db == (CA_DB *)0x0" identifier == (cast_expression "(CA_DB *)0x0" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006af12;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0006b095:\n      pcVar2 = (char *)local_80;\n      BIO_printf((BIO *)bio_err,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006b0c2;\n    }" else (compound_statement "{\nLAB_0006b095:\n      pcVar2 = (char *)local_80;\n      BIO_printf((BIO *)bio_err,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      db = load_index((char *)local_80,(DB_ATTR *)0x0);\n      if (db == (CA_DB *)0x0) goto LAB_0006b0c2;\n    }" { (labeled_statement "LAB_0006b095:\n      pcVar2 = (char *)local_80;" statement_identifier : (expression_statement "pcVar2 = (char *)local_80;" (assignment_expression "pcVar2 = (char *)local_80" identifier = (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "BIO_printf((BIO *)bio_err,"Trying to read SRP verifier file \"%s\"\n",local_80);" (call_expression "BIO_printf((BIO *)bio_err,"Trying to read SRP verifier file \"%s\"\n",local_80)" identifier (argument_list "((BIO *)bio_err,"Trying to read SRP verifier file \"%s\"\n",local_80)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Trying to read SRP verifier file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier ))) ;) (expression_statement "db = load_index((char *)local_80,(DB_ATTR *)0x0);" (assignment_expression "db = load_index((char *)local_80,(DB_ATTR *)0x0)" identifier = (call_expression "load_index((char *)local_80,(DB_ATTR *)0x0)" identifier (argument_list "((char *)local_80,(DB_ATTR *)0x0)" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(DB_ATTR *)0x0" ( (type_descriptor "DB_ATTR *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (db == (CA_DB *)0x0) goto LAB_0006b0c2;" if (parenthesized_expression "(db == (CA_DB *)0x0)" ( (binary_expression "db == (CA_DB *)0x0" identifier == (cast_expression "(CA_DB *)0x0" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006b0c2;" goto statement_identifier ;)) }))) (expression_statement "iVar4 = -1;" (assignment_expression "iVar4 = -1" identifier = number_literal) ;) (expression_statement "local_8c = (char *)0xffffffff;" (assignment_expression "local_8c = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (for_statement "for (iVar8 = 0; iVar5 = OPENSSL_sk_num(db->db->data), iVar8 < iVar5; iVar8 = iVar8 + 1) {\n      puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar8);\n      if (*(char *)*puVar6 == 'I') {\n        if (((iVar4 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)) {\n          iVar4 = iVar8;\n        }\n        local_8c = (char *)iVar8;\n        if (1 < local_94) {\n          print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);\n        }\n      }\n    }" for ( (assignment_expression "iVar8 = 0" identifier = number_literal) ; (comma_expression "iVar5 = OPENSSL_sk_num(db->db->data), iVar8 < iVar5" (assignment_expression "iVar5 = OPENSSL_sk_num(db->db->data)" identifier = (call_expression "OPENSSL_sk_num(db->db->data)" identifier (argument_list "(db->db->data)" ( (field_expression "db->db->data" (field_expression "db->db" identifier -> field_identifier) -> field_identifier) )))) , (binary_expression "iVar8 < iVar5" identifier < identifier)) ; (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ) (compound_statement "{\n      puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar8);\n      if (*(char *)*puVar6 == 'I') {\n        if (((iVar4 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)) {\n          iVar4 = iVar8;\n        }\n        local_8c = (char *)iVar8;\n        if (1 < local_94) {\n          print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);\n        }\n      }\n    }" { (expression_statement "puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar8);" (assignment_expression "puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar8)" identifier = (cast_expression "(undefined4 *)OPENSSL_sk_value(db->db->data,iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(db->db->data,iVar8)" identifier (argument_list "(db->db->data,iVar8)" ( (field_expression "db->db->data" (field_expression "db->db" identifier -> field_identifier) -> field_identifier) , identifier ))))) ;) (if_statement "if (*(char *)*puVar6 == 'I') {\n        if (((iVar4 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)) {\n          iVar4 = iVar8;\n        }\n        local_8c = (char *)iVar8;\n        if (1 < local_94) {\n          print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);\n        }\n      }" if (parenthesized_expression "(*(char *)*puVar6 == 'I')" ( (binary_expression "*(char *)*puVar6 == 'I'" (pointer_expression "*(char *)*puVar6" * (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) == (char_literal "'I'" ' character ')) )) (compound_statement "{\n        if (((iVar4 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)) {\n          iVar4 = iVar8;\n        }\n        local_8c = (char *)iVar8;\n        if (1 < local_94) {\n          print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);\n        }\n      }" { (if_statement "if (((iVar4 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)) {\n          iVar4 = iVar8;\n        }" if (parenthesized_expression "(((iVar4 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0))" ( (binary_expression "((iVar4 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)" (parenthesized_expression "((iVar4 < 0) && (local_78 != (char *)0x0))" ( (binary_expression "(iVar4 < 0) && (local_78 != (char *)0x0)" (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) && (parenthesized_expression "(local_78 != (char *)0x0)" ( (binary_expression "local_78 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0)" ( (comma_expression "iVar5 = strcmp(local_78,(char *)puVar6[3]), iVar5 == 0" (assignment_expression "iVar5 = strcmp(local_78,(char *)puVar6[3])" identifier = (call_expression "strcmp(local_78,(char *)puVar6[3])" identifier (argument_list "(local_78,(char *)puVar6[3])" ( identifier , (cast_expression "(char *)puVar6[3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[3]" identifier [ number_literal ])) )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          iVar4 = iVar8;\n        }" { (expression_statement "iVar4 = iVar8;" (assignment_expression "iVar4 = iVar8" identifier = identifier) ;) })) (expression_statement "local_8c = (char *)iVar8;" (assignment_expression "local_8c = (char *)iVar8" identifier = (cast_expression "(char *)iVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (1 < local_94) {\n          print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);\n        }" if (parenthesized_expression "(1 < local_94)" ( (binary_expression "1 < local_94" number_literal < identifier) )) (compound_statement "{\n          print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);\n        }" { (expression_statement "print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64);" (call_expression "print_entry((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64)" identifier (argument_list "((CA_DB *)&db->db,iVar8,0x8fa03,in_stack_ffffff64)" ( (cast_expression "(CA_DB *)&db->db" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&db->db" & (field_expression "db->db" identifier -> field_identifier))) , identifier , number_literal , identifier ))) ;) })) })) })) (if_statement "if (local_94 == 0) {\n      if (-1 < iVar4) {\n        local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar4 = SRP_get_default_gN(local_78), iVar4 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf((BIO *)bio_err,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n      if (-1 < iVar4) {\n        local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar4 = SRP_get_default_gN(local_78), iVar4 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf((BIO *)bio_err,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }" { (if_statement "if (-1 < iVar4) {\n        local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n        goto LAB_0006b10d;\n      }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n        local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n        goto LAB_0006b10d;\n      }" { (expression_statement "local_60 = OPENSSL_sk_value(db->db->data,iVar4);" (assignment_expression "local_60 = OPENSSL_sk_value(db->db->data,iVar4)" identifier = (call_expression "OPENSSL_sk_value(db->db->data,iVar4)" identifier (argument_list "(db->db->data,iVar4)" ( (field_expression "db->db->data" (field_expression "db->db" identifier -> field_identifier) -> field_identifier) , identifier )))) ;) (goto_statement "goto LAB_0006b10d;" goto statement_identifier ;) })) (if_statement "if (((int)local_8c < 1) || (iVar4 = SRP_get_default_gN(local_78), iVar4 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }" if (parenthesized_expression "(((int)local_8c < 1) || (iVar4 = SRP_get_default_gN(local_78), iVar4 != 0))" ( (binary_expression "((int)local_8c < 1) || (iVar4 = SRP_get_default_gN(local_78), iVar4 != 0)" (parenthesized_expression "((int)local_8c < 1)" ( (binary_expression "(int)local_8c < 1" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(iVar4 = SRP_get_default_gN(local_78), iVar4 != 0)" ( (comma_expression "iVar4 = SRP_get_default_gN(local_78), iVar4 != 0" (assignment_expression "iVar4 = SRP_get_default_gN(local_78)" identifier = (call_expression "SRP_get_default_gN(local_78)" identifier (argument_list "(local_78)" ( identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }" { (labeled_statement "LAB_0006b105:\n        local_60 = 0;" statement_identifier : (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_0006b10d;" goto statement_identifier ;) })) (labeled_statement "LAB_0006bb9e:\n      BIO_printf((BIO *)bio_err,"No g and N value for index \"%s\"\n",local_78,0);" statement_identifier : (expression_statement "BIO_printf((BIO *)bio_err,"No g and N value for index \"%s\"\n",local_78,0);" (call_expression "BIO_printf((BIO *)bio_err,"No g and N value for index \"%s\"\n",local_78,0)" identifier (argument_list "((BIO *)bio_err,"No g and N value for index \"%s\"\n",local_78,0)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""No g and N value for index \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier , number_literal ))) ;)) (goto_statement "goto LAB_0006aef8;" goto statement_identifier ;) })) (expression_statement "BIO_printf((BIO *)bio_err,"Database initialised\n");" (call_expression "BIO_printf((BIO *)bio_err,"Database initialised\n")" identifier (argument_list "((BIO *)bio_err,"Database initialised\n")" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Database initialised\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (iVar4 < 0) {\n      if ((0 < (int)local_8c) && (iVar4 = SRP_get_default_gN(local_78), iVar4 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf((BIO *)bio_err,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n      if (local_94 == 1) goto LAB_0006b10d;\n      print_entry((CA_DB *)&db->db,iVar4,0x8fa48,in_stack_ffffff64);\n    }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n      if ((0 < (int)local_8c) && (iVar4 = SRP_get_default_gN(local_78), iVar4 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf((BIO *)bio_err,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }" { (if_statement "if ((0 < (int)local_8c) && (iVar4 = SRP_get_default_gN(local_78), iVar4 == 0))\n      goto LAB_0006bb9e;" if (parenthesized_expression "((0 < (int)local_8c) && (iVar4 = SRP_get_default_gN(local_78), iVar4 == 0))" ( (binary_expression "(0 < (int)local_8c) && (iVar4 = SRP_get_default_gN(local_78), iVar4 == 0)" (parenthesized_expression "(0 < (int)local_8c)" ( (binary_expression "0 < (int)local_8c" number_literal < (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar4 = SRP_get_default_gN(local_78), iVar4 == 0)" ( (comma_expression "iVar4 = SRP_get_default_gN(local_78), iVar4 == 0" (assignment_expression "iVar4 = SRP_get_default_gN(local_78)" identifier = (call_expression "SRP_get_default_gN(local_78)" identifier (argument_list "(local_78)" ( identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0006bb9e;" goto statement_identifier ;)) (expression_statement "BIO_printf((BIO *)bio_err,"Database has no g N information.\n");" (call_expression "BIO_printf((BIO *)bio_err,"Database has no g N information.\n")" identifier (argument_list "((BIO *)bio_err,"Database has no g N information.\n")" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Database has no g N information.\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (local_94 < 2) goto LAB_0006b105;" if (parenthesized_expression "(local_94 < 2)" ( (binary_expression "local_94 < 2" identifier < number_literal) )) (goto_statement "goto LAB_0006b105;" goto statement_identifier ;)) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n      if (local_94 == 1) goto LAB_0006b10d;\n      print_entry((CA_DB *)&db->db,iVar4,0x8fa48,in_stack_ffffff64);\n    }" else (compound_statement "{\n      local_60 = OPENSSL_sk_value(db->db->data,iVar4);\n      if (local_94 == 1) goto LAB_0006b10d;\n      print_entry((CA_DB *)&db->db,iVar4,0x8fa48,in_stack_ffffff64);\n    }" { (expression_statement "local_60 = OPENSSL_sk_value(db->db->data,iVar4);" (assignment_expression "local_60 = OPENSSL_sk_value(db->db->data,iVar4)" identifier = (call_expression "OPENSSL_sk_value(db->db->data,iVar4)" identifier (argument_list "(db->db->data,iVar4)" ( (field_expression "db->db->data" (field_expression "db->db" identifier -> field_identifier) -> field_identifier) , identifier )))) ;) (if_statement "if (local_94 == 1) goto LAB_0006b10d;" if (parenthesized_expression "(local_94 == 1)" ( (binary_expression "local_94 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0006b10d;" goto statement_identifier ;)) (expression_statement "print_entry((CA_DB *)&db->db,iVar4,0x8fa48,in_stack_ffffff64);" (call_expression "print_entry((CA_DB *)&db->db,iVar4,0x8fa48,in_stack_ffffff64)" identifier (argument_list "((CA_DB *)&db->db,iVar4,0x8fa48,in_stack_ffffff64)" ( (cast_expression "(CA_DB *)&db->db" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&db->db" & (field_expression "db->db" identifier -> field_identifier))) , identifier , number_literal , identifier ))) ;) }))) (expression_statement "BIO_printf((BIO *)bio_err,"Starting user processing\n");" (call_expression "BIO_printf((BIO *)bio_err,"Starting user processing\n")" identifier (argument_list "((BIO *)bio_err,"Starting user processing\n")" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Starting user processing\n"" " string_content escape_sequence ") ))) ;) (labeled_statement "LAB_0006b10d:\n    local_8c = (char *)0x0;" statement_identifier : (expression_statement "local_8c = (char *)0x0;" (assignment_expression "local_8c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (while_statement "while ((local_5c != (char **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (char **)0x0)) {\n        pcVar2 = (char *)local_5c;\n        BIO_printf((BIO *)bio_err,"Processing user \"%s\"\n",local_5c);\n        iVar4 = get_index(db,(char *)local_5c,'U');\n        if (-1 < iVar4) {\nLAB_0006b199:\n          print_user(db,iVar4,(int)in_stack_ffffff64);\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        row[1] = (char *)0x0;\n        row[2] = (char *)0x0;\n        row[5] = (char *)0x0;\n        if (local_60 == 0) {\n          pcVar2 = (char *)0x0;\n          pcVar9 = local_78;\n        }\n        else {\n          pcVar2 = *(char **)(local_60 + 4);\n          pcVar9 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar2 = (char *)0x1c0;\n          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(row[3]);\n          CRYPTO_free(row[4]);\n          CRYPTO_free(row[5]);\n          CRYPTO_free(row[0]);\n          CRYPTO_free(row[1]);\n          CRYPTO_free(row[2]);\n        }\n        goto LAB_0006b570;\n      }\n      iVar4 = get_index(db,(char *)local_5c,'U');\n      if (-1 < iVar4) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4);\n        if (*(char *)*piVar7 == 'v') {\n          pcVar2 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar7 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = get_index(db,(char *)piVar7[4],'I');\n          if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }\n          else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }\n          pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94);\n          if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;\n          pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }\n          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }\n          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf((BIO *)bio_err,pcVar2,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = (char *)0x1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (char **)0x0) {\n          BIO_printf((BIO *)bio_err,"List all users\n");\n          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }\n        }\n        else if (iVar4 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar4 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = (char *)0x1;\n        *(undefined1 *)*puVar6 = 0x56;\n        pcVar2 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (char **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (char **)0x0) break;\n    }" while (parenthesized_expression "((local_5c != (char **)0x0 || (local_90 == 9)))" ( (parenthesized_expression "(local_5c != (char **)0x0 || (local_90 == 9))" ( (binary_expression "local_5c != (char **)0x0 || (local_90 == 9)" (binary_expression "local_5c != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) || (parenthesized_expression "(local_90 == 9)" ( (binary_expression "local_90 == 9" identifier == number_literal) ))) )) )) (compound_statement "{\n      if ((1 < local_94) && (local_5c != (char **)0x0)) {\n        pcVar2 = (char *)local_5c;\n        BIO_printf((BIO *)bio_err,"Processing user \"%s\"\n",local_5c);\n        iVar4 = get_index(db,(char *)local_5c,'U');\n        if (-1 < iVar4) {\nLAB_0006b199:\n          print_user(db,iVar4,(int)in_stack_ffffff64);\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        row[1] = (char *)0x0;\n        row[2] = (char *)0x0;\n        row[5] = (char *)0x0;\n        if (local_60 == 0) {\n          pcVar2 = (char *)0x0;\n          pcVar9 = local_78;\n        }\n        else {\n          pcVar2 = *(char **)(local_60 + 4);\n          pcVar9 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar2 = (char *)0x1c0;\n          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(row[3]);\n          CRYPTO_free(row[4]);\n          CRYPTO_free(row[5]);\n          CRYPTO_free(row[0]);\n          CRYPTO_free(row[1]);\n          CRYPTO_free(row[2]);\n        }\n        goto LAB_0006b570;\n      }\n      iVar4 = get_index(db,(char *)local_5c,'U');\n      if (-1 < iVar4) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4);\n        if (*(char *)*piVar7 == 'v') {\n          pcVar2 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar7 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = get_index(db,(char *)piVar7[4],'I');\n          if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }\n          else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }\n          pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94);\n          if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;\n          pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }\n          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }\n          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf((BIO *)bio_err,pcVar2,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = (char *)0x1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (char **)0x0) {\n          BIO_printf((BIO *)bio_err,"List all users\n");\n          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }\n        }\n        else if (iVar4 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar4 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = (char *)0x1;\n        *(undefined1 *)*puVar6 = 0x56;\n        pcVar2 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (char **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (char **)0x0) break;\n    }" { (if_statement "if ((1 < local_94) && (local_5c != (char **)0x0)) {\n        pcVar2 = (char *)local_5c;\n        BIO_printf((BIO *)bio_err,"Processing user \"%s\"\n",local_5c);\n        iVar4 = get_index(db,(char *)local_5c,'U');\n        if (-1 < iVar4) {\nLAB_0006b199:\n          print_user(db,iVar4,(int)in_stack_ffffff64);\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        row[1] = (char *)0x0;\n        row[2] = (char *)0x0;\n        row[5] = (char *)0x0;\n        if (local_60 == 0) {\n          pcVar2 = (char *)0x0;\n          pcVar9 = local_78;\n        }\n        else {\n          pcVar2 = *(char **)(local_60 + 4);\n          pcVar9 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar2 = (char *)0x1c0;\n          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(row[3]);\n          CRYPTO_free(row[4]);\n          CRYPTO_free(row[5]);\n          CRYPTO_free(row[0]);\n          CRYPTO_free(row[1]);\n          CRYPTO_free(row[2]);\n        }\n        goto LAB_0006b570;\n      }" if (parenthesized_expression "((1 < local_94) && (local_5c != (char **)0x0))" ( (binary_expression "(1 < local_94) && (local_5c != (char **)0x0)" (parenthesized_expression "(1 < local_94)" ( (binary_expression "1 < local_94" number_literal < identifier) )) && (parenthesized_expression "(local_5c != (char **)0x0)" ( (binary_expression "local_5c != (char **)0x0" identifier != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n        pcVar2 = (char *)local_5c;\n        BIO_printf((BIO *)bio_err,"Processing user \"%s\"\n",local_5c);\n        iVar4 = get_index(db,(char *)local_5c,'U');\n        if (-1 < iVar4) {\nLAB_0006b199:\n          print_user(db,iVar4,(int)in_stack_ffffff64);\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        row[1] = (char *)0x0;\n        row[2] = (char *)0x0;\n        row[5] = (char *)0x0;\n        if (local_60 == 0) {\n          pcVar2 = (char *)0x0;\n          pcVar9 = local_78;\n        }\n        else {\n          pcVar2 = *(char **)(local_60 + 4);\n          pcVar9 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar2 = (char *)0x1c0;\n          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(row[3]);\n          CRYPTO_free(row[4]);\n          CRYPTO_free(row[5]);\n          CRYPTO_free(row[0]);\n          CRYPTO_free(row[1]);\n          CRYPTO_free(row[2]);\n        }\n        goto LAB_0006b570;\n      }" { (expression_statement "pcVar2 = (char *)local_5c;" (assignment_expression "pcVar2 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "BIO_printf((BIO *)bio_err,"Processing user \"%s\"\n",local_5c);" (call_expression "BIO_printf((BIO *)bio_err,"Processing user \"%s\"\n",local_5c)" identifier (argument_list "((BIO *)bio_err,"Processing user \"%s\"\n",local_5c)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Processing user \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier ))) ;) (expression_statement "iVar4 = get_index(db,(char *)local_5c,'U');" (assignment_expression "iVar4 = get_index(db,(char *)local_5c,'U')" identifier = (call_expression "get_index(db,(char *)local_5c,'U')" identifier (argument_list "(db,(char *)local_5c,'U')" ( identifier , (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (char_literal "'U'" ' character ') )))) ;) (if_statement "if (-1 < iVar4) {\nLAB_0006b199:\n          print_user(db,iVar4,(int)in_stack_ffffff64);\n          goto LAB_0006b1a4;\n        }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\nLAB_0006b199:\n          print_user(db,iVar4,(int)in_stack_ffffff64);\n          goto LAB_0006b1a4;\n        }" { (labeled_statement "LAB_0006b199:\n          print_user(db,iVar4,(int)in_stack_ffffff64);" statement_identifier : (expression_statement "print_user(db,iVar4,(int)in_stack_ffffff64);" (call_expression "print_user(db,iVar4,(int)in_stack_ffffff64)" identifier (argument_list "(db,iVar4,(int)in_stack_ffffff64)" ( identifier , identifier , (cast_expression "(int)in_stack_ffffff64" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;)) (goto_statement "goto LAB_0006b1a4;" goto statement_identifier ;) })) (if_statement "if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }" if (parenthesized_expression "(local_90 == 9)" ( (binary_expression "local_90 == 9" identifier == number_literal) )) (compound_statement "{\nLAB_0006b5bd:\n          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }" { (labeled_statement "LAB_0006b5bd:\n          BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);" statement_identifier : (expression_statement "BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c);" (call_expression "BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c)" identifier (argument_list "((BIO *)bio_err,"user \"%s\" does not exist, ignored. t\n",local_5c)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""user \"%s\" does not exist, ignored. t\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;)) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "pcVar2 = (char *)local_5c;" (assignment_expression "pcVar2 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0006b1bf;" goto statement_identifier ;) })) (if_statement "if (local_90 != 6) goto LAB_0006b283;" if (parenthesized_expression "(local_90 != 6)" ( (binary_expression "local_90 != 6" identifier != number_literal) )) (goto_statement "goto LAB_0006b283;" goto statement_identifier ;)) (labeled_statement "LAB_0006b2d2:\n        row[1] = (char *)0x0;" statement_identifier : (expression_statement "row[1] = (char *)0x0;" (assignment_expression "row[1] = (char *)0x0" (subscript_expression "row[1]" identifier [ number_literal ]) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "row[2] = (char *)0x0;" (assignment_expression "row[2] = (char *)0x0" (subscript_expression "row[2]" identifier [ number_literal ]) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "row[5] = (char *)0x0;" (assignment_expression "row[5] = (char *)0x0" (subscript_expression "row[5]" identifier [ number_literal ]) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_60 == 0) {\n          pcVar2 = (char *)0x0;\n          pcVar9 = local_78;\n        }\n        else {\n          pcVar2 = *(char **)(local_60 + 4);\n          pcVar9 = *(char **)(local_60 + 8);\n        }" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar2 = (char *)0x0;\n          pcVar9 = local_78;\n        }" { (expression_statement "pcVar2 = (char *)0x0;" (assignment_expression "pcVar2 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar9 = local_78;" (assignment_expression "pcVar9 = local_78" identifier = identifier) ;) }) (else_clause "else {\n          pcVar2 = *(char **)(local_60 + 4);\n          pcVar9 = *(char **)(local_60 + 8);\n        }" else (compound_statement "{\n          pcVar2 = *(char **)(local_60 + 4);\n          pcVar9 = *(char **)(local_60 + 8);\n        }" { (expression_statement "pcVar2 = *(char **)(local_60 + 4);" (assignment_expression "pcVar2 = *(char **)(local_60 + 4)" identifier = (pointer_expression "*(char **)(local_60 + 4)" * (cast_expression "(char **)(local_60 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_60 + 4)" ( (binary_expression "local_60 + 4" identifier + number_literal) ))))) ;) (expression_statement "pcVar9 = *(char **)(local_60 + 8);" (assignment_expression "pcVar9 = *(char **)(local_60 + 8)" identifier = (pointer_expression "*(char **)(local_60 + 8)" * (cast_expression "(char **)(local_60 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_60 + 8)" ( (binary_expression "local_60 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar9 = srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94);" (assignment_expression "pcVar9 = srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94)" identifier = (call_expression "srp_create_user((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94)" identifier (argument_list "((char *)local_5c,row + 1,row + 2,pcVar9,pcVar2,passout,local_94)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "row + 1" identifier + number_literal) , (binary_expression "row + 2" identifier + number_literal) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pcVar9 == (char *)0x0) {\n          BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar2 = (char *)0x1c0;\n          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(row[3]);\n          CRYPTO_free(row[4]);\n          CRYPTO_free(row[5]);\n          CRYPTO_free(row[0]);\n          CRYPTO_free(row[1]);\n          CRYPTO_free(row[2]);\n        }" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }" { (expression_statement "BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;" (call_expression "BIO_printf((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)" identifier (argument_list "((BIO *)bio_err,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Cannot create srp verifier for user \"%s\", operation abandoned .\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar2 = (char *)0x1c0;\n          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(row[3]);\n          CRYPTO_free(row[4]);\n          CRYPTO_free(row[5]);\n          CRYPTO_free(row[0]);\n          CRYPTO_free(row[1]);\n          CRYPTO_free(row[2]);\n        }" else (compound_statement "{\n          row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar2 = (char *)0x1c0;\n          row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(row[3]);\n          CRYPTO_free(row[4]);\n          CRYPTO_free(row[5]);\n          CRYPTO_free(row[0]);\n          CRYPTO_free(row[1]);\n          CRYPTO_free(row[2]);\n        }" { (expression_statement "row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);" (assignment_expression "row[3] = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be)" (subscript_expression "row[3]" identifier [ number_literal ]) = (call_expression "CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be)" identifier (argument_list "((char *)local_5c,"../apps/srp.c",0x1be)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (expression_statement "row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf);" (assignment_expression "row[0] = CRYPTO_strdup("v","../apps/srp.c",0x1bf)" (subscript_expression "row[0]" identifier [ number_literal ]) = (call_expression "CRYPTO_strdup("v","../apps/srp.c",0x1bf)" identifier (argument_list "("v","../apps/srp.c",0x1bf)" ( (string_literal ""v"" " string_content ") , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (expression_statement "pcVar2 = (char *)0x1c0;" (assignment_expression "pcVar2 = (char *)0x1c0" identifier = (cast_expression "(char *)0x1c0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);" (assignment_expression "row[4] = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0)" (subscript_expression "row[4]" identifier [ number_literal ]) = (call_expression "CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0)" identifier (argument_list "(pcVar9,"../apps/srp.c",0x1c0)" ( identifier , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (if_statement "if ((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }" if (parenthesized_expression "((((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0))))" ( (binary_expression "(((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)) &&\n             ((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))" (parenthesized_expression "(((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0))" ( (binary_expression "((row[4] != (char *)0x0) && (row[3] != (char *)0x0)) && (row[0] != (char *)0x0)" (parenthesized_expression "((row[4] != (char *)0x0) && (row[3] != (char *)0x0))" ( (binary_expression "(row[4] != (char *)0x0) && (row[3] != (char *)0x0)" (parenthesized_expression "(row[4] != (char *)0x0)" ( (binary_expression "row[4] != (char *)0x0" (subscript_expression "row[4]" identifier [ number_literal ]) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(row[3] != (char *)0x0)" ( (binary_expression "row[3] != (char *)0x0" (subscript_expression "row[3]" identifier [ number_literal ]) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(row[0] != (char *)0x0)" ( (binary_expression "row[0] != (char *)0x0" (subscript_expression "row[0]" identifier [ number_literal ]) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "((row[1] != (char *)0x0 && (row[2] != (char *)0x0)))" ( (parenthesized_expression "(row[1] != (char *)0x0 && (row[2] != (char *)0x0))" ( (binary_expression "row[1] != (char *)0x0 && (row[2] != (char *)0x0)" (binary_expression "row[1] != (char *)0x0" (subscript_expression "row[1]" identifier [ number_literal ]) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(row[2] != (char *)0x0)" ( (binary_expression "row[2] != (char *)0x0" (subscript_expression "row[2]" identifier [ number_literal ]) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ))) )) (compound_statement "{\n            if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");\n            iVar4 = 0;\n            do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);\n            if (iVar4 != 0) goto LAB_0006b430;\n            BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");\n            BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);\n            CRYPTO_free(value);\n          }" { (if_statement "if (local_74 != (char *)0x0) {\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }" if (parenthesized_expression "(local_74 != (char *)0x0)" ( (binary_expression "local_74 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar2 = (char *)0x1c8;\n              row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (row[5] == (char *)0x0) goto LAB_0006b979;\n            }" { (expression_statement "pcVar2 = (char *)0x1c8;" (assignment_expression "pcVar2 = (char *)0x1c8" identifier = (cast_expression "(char *)0x1c8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);" (assignment_expression "row[5] = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8)" (subscript_expression "row[5]" identifier [ number_literal ]) = (call_expression "CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8)" identifier (argument_list "(local_74,"../apps/srp.c",0x1c8)" ( identifier , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (if_statement "if (row[5] == (char *)0x0) goto LAB_0006b979;" if (parenthesized_expression "(row[5] == (char *)0x0)" ( (binary_expression "row[5] == (char *)0x0" (subscript_expression "row[5]" identifier [ number_literal ]) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006b979;" goto statement_identifier ;)) })) (expression_statement "value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers");" (assignment_expression "value = (OPENSSL_STRING *)app_malloc(0x1c,"row pointers")" identifier = (cast_expression "(OPENSSL_STRING *)app_malloc(0x1c,"row pointers")" ( (type_descriptor "OPENSSL_STRING *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "app_malloc(0x1c,"row pointers")" identifier (argument_list "(0x1c,"row pointers")" ( number_literal , (string_literal ""row pointers"" " string_content ") ))))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            } while (iVar4 != 6);" do (compound_statement "{\n              value[iVar4] = row[iVar4];\n              iVar4 = iVar4 + 1;\n            }" { (expression_statement "value[iVar4] = row[iVar4];" (assignment_expression "value[iVar4] = row[iVar4]" (subscript_expression "value[iVar4]" identifier [ identifier ]) = (subscript_expression "row[iVar4]" identifier [ identifier ])) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != 6)" ( (binary_expression "iVar4 != 6" identifier != number_literal) )) ;) (expression_statement "value[6] = (OPENSSL_STRING)0x0;" (assignment_expression "value[6] = (OPENSSL_STRING)0x0" (subscript_expression "value[6]" identifier [ number_literal ]) = (cast_expression "(OPENSSL_STRING)0x0" ( (type_descriptor "OPENSSL_STRING" type_identifier) ) number_literal)) ;) (expression_statement "iVar4 = TXT_DB_insert((TXT_DB *)db->db,value);" (assignment_expression "iVar4 = TXT_DB_insert((TXT_DB *)db->db,value)" identifier = (call_expression "TXT_DB_insert((TXT_DB *)db->db,value)" identifier (argument_list "((TXT_DB *)db->db,value)" ( (cast_expression "(TXT_DB *)db->db" ( (type_descriptor "TXT_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "db->db" identifier -> field_identifier)) , identifier )))) ;) (if_statement "if (iVar4 != 0) goto LAB_0006b430;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006b430;" goto statement_identifier ;)) (expression_statement "BIO_printf((BIO *)bio_err,"failed to update srpvfile\n");" (call_expression "BIO_printf((BIO *)bio_err,"failed to update srpvfile\n")" identifier (argument_list "((BIO *)bio_err,"failed to update srpvfile\n")" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""failed to update srpvfile\n"" " string_content escape_sequence ") ))) ;) (expression_statement "BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error);" (call_expression "BIO_printf((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error)" identifier (argument_list "((BIO *)bio_err,"TXT_DB error number %ld\n",db->db->error)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""TXT_DB error number %ld\n"" " string_content escape_sequence ") , (field_expression "db->db->error" (field_expression "db->db" identifier -> field_identifier) -> field_identifier) ))) ;) (expression_statement "CRYPTO_free(value);" (call_expression "CRYPTO_free(value)" identifier (argument_list "(value)" ( identifier ))) ;) })) (labeled_statement "LAB_0006b979:\n          CRYPTO_free(row[3]);" statement_identifier : (expression_statement "CRYPTO_free(row[3]);" (call_expression "CRYPTO_free(row[3])" identifier (argument_list "(row[3])" ( (subscript_expression "row[3]" identifier [ number_literal ]) ))) ;)) (expression_statement "CRYPTO_free(row[4]);" (call_expression "CRYPTO_free(row[4])" identifier (argument_list "(row[4])" ( (subscript_expression "row[4]" identifier [ number_literal ]) ))) ;) (expression_statement "CRYPTO_free(row[5]);" (call_expression "CRYPTO_free(row[5])" identifier (argument_list "(row[5])" ( (subscript_expression "row[5]" identifier [ number_literal ]) ))) ;) (expression_statement "CRYPTO_free(row[0]);" (call_expression "CRYPTO_free(row[0])" identifier (argument_list "(row[0])" ( (subscript_expression "row[0]" identifier [ number_literal ]) ))) ;) (expression_statement "CRYPTO_free(row[1]);" (call_expression "CRYPTO_free(row[1])" identifier (argument_list "(row[1])" ( (subscript_expression "row[1]" identifier [ number_literal ]) ))) ;) (expression_statement "CRYPTO_free(row[2]);" (call_expression "CRYPTO_free(row[2])" identifier (argument_list "(row[2])" ( (subscript_expression "row[2]" identifier [ number_literal ]) ))) ;) }))) (goto_statement "goto LAB_0006b570;" goto statement_identifier ;) })) (expression_statement "iVar4 = get_index(db,(char *)local_5c,'U');" (assignment_expression "iVar4 = get_index(db,(char *)local_5c,'U')" identifier = (call_expression "get_index(db,(char *)local_5c,'U')" identifier (argument_list "(db,(char *)local_5c,'U')" ( identifier , (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (char_literal "'U'" ' character ') )))) ;) (if_statement "if (-1 < iVar4) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4);\n        if (*(char *)*piVar7 == 'v') {\n          pcVar2 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar7 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = get_index(db,(char *)piVar7[4],'I');\n          if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }\n          else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }\n          pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94);\n          if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;\n          pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }\n          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }\n          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf((BIO *)bio_err,pcVar2,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = (char *)0x1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4);\n        if (*(char *)*piVar7 == 'v') {\n          pcVar2 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar7 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = get_index(db,(char *)piVar7[4],'I');\n          if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }\n          else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }\n          pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94);\n          if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;\n          pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }\n          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }\n          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf((BIO *)bio_err,pcVar2,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = (char *)0x1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }" { (if_statement "if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;" if (parenthesized_expression "((0 < local_94) || (local_90 == 9))" ( (binary_expression "(0 < local_94) || (local_90 == 9)" (parenthesized_expression "(0 < local_94)" ( (binary_expression "0 < local_94" number_literal < identifier) )) || (parenthesized_expression "(local_90 == 9)" ( (binary_expression "local_90 == 9" identifier == number_literal) ))) )) (goto_statement "goto LAB_0006b199;" goto statement_identifier ;)) (if_statement "if (local_90 == 6) goto LAB_0006b445;" if (parenthesized_expression "(local_90 == 6)" ( (binary_expression "local_90 == 6" identifier == number_literal) )) (goto_statement "goto LAB_0006b445;" goto statement_identifier ;)) (if_statement "if (local_90 != 8) goto LAB_0006b225;" if (parenthesized_expression "(local_90 != 8)" ( (binary_expression "local_90 != 8" identifier != number_literal) )) (goto_statement "goto LAB_0006b225;" goto statement_identifier ;)) (labeled_statement "LAB_0006b487:\n        piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4);" statement_identifier : (expression_statement "piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4);" (assignment_expression "piVar7 = (int *)OPENSSL_sk_value(db->db->data,iVar4)" identifier = (cast_expression "(int *)OPENSSL_sk_value(db->db->data,iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(db->db->data,iVar4)" identifier (argument_list "(db->db->data,iVar4)" ( (field_expression "db->db->data" (field_expression "db->db" identifier -> field_identifier) -> field_identifier) , identifier ))))) ;)) (if_statement "if (*(char *)*piVar7 == 'v') {\n          pcVar2 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }" if (parenthesized_expression "(*(char *)*piVar7 == 'v')" ( (binary_expression "*(char *)*piVar7 == 'v'" (pointer_expression "*(char *)*piVar7" * (cast_expression "(char *)*piVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar7" * identifier))) == (char_literal "'v'" ' character ')) )) (compound_statement "{\n          pcVar2 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }" { (expression_statement "pcVar2 = "user \"%s\" already updated, operation ignored.\n";" (assignment_expression "pcVar2 = "user \"%s\" already updated, operation ignored.\n"" identifier = (string_literal ""user \"%s\" already updated, operation ignored.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (goto_statement "goto LAB_0006b29c;" goto statement_identifier ;) })) (if_statement "if (*(char *)*piVar7 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = get_index(db,(char *)piVar7[4],'I');\n          if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }\n          else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }\n          pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94);\n          if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;\n          pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }\n          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }\n          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }" if (parenthesized_expression "(*(char *)*piVar7 == 'V')" ( (binary_expression "*(char *)*piVar7 == 'V'" (pointer_expression "*(char *)*piVar7" * (cast_expression "(char *)*piVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar7" * identifier))) == (char_literal "'V'" ' character ')) )) (compound_statement "{\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = get_index(db,(char *)piVar7[4],'I');\n          if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }\n          else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }\n          pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94);\n          if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;\n          pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }" { (if_statement "if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n            BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);\n          }" { (expression_statement "BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c);" (call_expression "BIO_printf((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c)" identifier (argument_list "((BIO *)bio_err,"Verifying password for user \"%s\"\n",local_5c)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Verifying password for user \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier ))) ;) })) (expression_statement "iVar8 = get_index(db,(char *)piVar7[4],'I');" (assignment_expression "iVar8 = get_index(db,(char *)piVar7[4],'I')" identifier = (call_expression "get_index(db,(char *)piVar7[4],'I')" identifier (argument_list "(db,(char *)piVar7[4],'I')" ( identifier , (cast_expression "(char *)piVar7[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[4]" identifier [ number_literal ])) , (char_literal "'I'" ' character ') )))) ;) (if_statement "if ((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)) {\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }\n          else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }" if (parenthesized_expression "((iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0))" ( (binary_expression "(iVar8 < 0) || (iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)" (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0)" ( (comma_expression "iVar4 = OPENSSL_sk_value(db->db->data,iVar4), iVar4 == 0" (assignment_expression "iVar4 = OPENSSL_sk_value(db->db->data,iVar4)" identifier = (call_expression "OPENSSL_sk_value(db->db->data,iVar4)" identifier (argument_list "(db->db->data,iVar4)" ( (field_expression "db->db->data" (field_expression "db->db" identifier -> field_identifier) -> field_identifier) , identifier )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            pcVar9 = (char *)0x0;\n            pcVar2 = (char *)piVar7[4];\n          }" { (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar2 = (char *)piVar7[4];" (assignment_expression "pcVar2 = (char *)piVar7[4]" identifier = (cast_expression "(char *)piVar7[4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[4]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }" else (compound_statement "{\n            pcVar9 = *(char **)(iVar4 + 4);\n            pcVar2 = *(char **)(iVar4 + 8);\n          }" { (expression_statement "pcVar9 = *(char **)(iVar4 + 4);" (assignment_expression "pcVar9 = *(char **)(iVar4 + 4)" identifier = (pointer_expression "*(char **)(iVar4 + 4)" * (cast_expression "(char **)(iVar4 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(char **)(iVar4 + 8);" (assignment_expression "pcVar2 = *(char **)(iVar4 + 8)" identifier = (pointer_expression "*(char **)(iVar4 + 8)" * (cast_expression "(char **)(iVar4 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94);" (assignment_expression "pcVar2 = srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94)" identifier = (call_expression "srp_verify_user((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94)" identifier (argument_list "((char *)local_5c,(char *)piVar7[1],(char *)piVar7[2],pcVar2,\n                                   pcVar9,passin,local_94)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)piVar7[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[1]" identifier [ number_literal ])) , (cast_expression "(char *)piVar7[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[2]" identifier [ number_literal ])) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pcVar2 != (char *)0x0) goto LAB_0006b4b6;" if (parenthesized_expression "(pcVar2 != (char *)0x0)" ( (binary_expression "pcVar2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006b4b6;" goto statement_identifier ;)) (expression_statement "pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n";" (assignment_expression "pcVar2 = "Invalid password for user \"%s\", operation abandoned.\n"" identifier = (string_literal ""Invalid password for user \"%s\", operation abandoned.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) }) (else_clause "else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }\n          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }\n          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }" else (compound_statement "{\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }\n          pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }\n          pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }" { (labeled_statement "LAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }" statement_identifier : (if_statement "if (local_94 != 0) {\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n            BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);\n          }" { (expression_statement "BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c);" (call_expression "BIO_printf((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c)" identifier (argument_list "((BIO *)bio_err,"Password for user \"%s\" ok.\n",local_5c)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Password for user \"%s\" ok.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) }))) (if_statement "if (local_60 == 0) {\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }\n          else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (compound_statement "{\n            local_8c = (char *)0x0;\n            pcVar2 = (char *)0x0;\n          }" { (expression_statement "local_8c = (char *)0x0;" (assignment_expression "local_8c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar2 = (char *)0x0;" (assignment_expression "pcVar2 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }" else (compound_statement "{\n            local_8c = *(char **)(local_60 + 4);\n            pcVar2 = *(char **)(local_60 + 8);\n          }" { (expression_statement "local_8c = *(char **)(local_60 + 4);" (assignment_expression "local_8c = *(char **)(local_60 + 4)" identifier = (pointer_expression "*(char **)(local_60 + 4)" * (cast_expression "(char **)(local_60 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_60 + 4)" ( (binary_expression "local_60 + 4" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(char **)(local_60 + 8);" (assignment_expression "pcVar2 = *(char **)(local_60 + 8)" identifier = (pointer_expression "*(char **)(local_60 + 8)" * (cast_expression "(char **)(local_60 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_60 + 8)" ( (binary_expression "local_60 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94);" (assignment_expression "pcVar9 = srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94)" identifier = (call_expression "srp_create_user((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94)" identifier (argument_list "((char *)local_5c,(char **)(piVar7 + 1),(char **)(piVar7 + 2),\n                                   pcVar2,local_8c,passout,local_94)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)(piVar7 + 1)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar7 + 1)" ( (binary_expression "piVar7 + 1" identifier + number_literal) ))) , (cast_expression "(char **)(piVar7 + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar7 + 2)" ( (binary_expression "piVar7 + 2" identifier + number_literal) ))) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined1 *)*piVar7 = 0x76;\n            pcVar2 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar7[4] = (int)pcVar9;\n            if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = (char *)0x1;\n            goto LAB_0006b578;\n          }" { (expression_statement "*(undefined1 *)*piVar7 = 0x76;" (assignment_expression "*(undefined1 *)*piVar7 = 0x76" (pointer_expression "*(undefined1 *)*piVar7" * (cast_expression "(undefined1 *)*piVar7" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar7" * identifier))) = number_literal) ;) (expression_statement "pcVar2 = (char *)0x213;" (assignment_expression "pcVar2 = (char *)0x213" identifier = (cast_expression "(char *)0x213" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);" (assignment_expression "pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213)" identifier = (call_expression "CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213)" identifier (argument_list "(pcVar9,"../apps/srp.c",0x213)" ( identifier , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (expression_statement "piVar7[4] = (int)pcVar9;" (assignment_expression "piVar7[4] = (int)pcVar9" (subscript_expression "piVar7[4]" identifier [ number_literal ]) = (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }" if (parenthesized_expression "((((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0))))" ( (binary_expression "(((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)) &&\n               ((piVar7[1] != 0 && (piVar7[2] != 0)))" (parenthesized_expression "(((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0))" ( (binary_expression "((piVar7[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar7 != 0)" (parenthesized_expression "((piVar7[3] != 0) && (pcVar9 != (char *)0x0))" ( (binary_expression "(piVar7[3] != 0) && (pcVar9 != (char *)0x0)" (parenthesized_expression "(piVar7[3] != 0)" ( (binary_expression "piVar7[3] != 0" (subscript_expression "piVar7[3]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(*piVar7 != 0)" ( (binary_expression "*piVar7 != 0" (pointer_expression "*piVar7" * identifier) != number_literal) ))) )) && (parenthesized_expression "((piVar7[1] != 0 && (piVar7[2] != 0)))" ( (parenthesized_expression "(piVar7[1] != 0 && (piVar7[2] != 0))" ( (binary_expression "piVar7[1] != 0 && (piVar7[2] != 0)" (binary_expression "piVar7[1] != 0" (subscript_expression "piVar7[1]" identifier [ number_literal ]) != number_literal) && (parenthesized_expression "(piVar7[2] != 0)" ( (binary_expression "piVar7[2] != 0" (subscript_expression "piVar7[2]" identifier [ number_literal ]) != number_literal) ))) )) ))) )) (compound_statement "{\n              if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = (char *)0x1;\n              goto LAB_0006b1bf;\n            }" { (if_statement "if (local_74 != (char *)0x0) {\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }" if (parenthesized_expression "(local_74 != (char *)0x0)" ( (binary_expression "local_74 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pcVar2 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar7[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }" { (expression_statement "pcVar2 = (char *)0x21b;" (assignment_expression "pcVar2 = (char *)0x21b" identifier = (cast_expression "(char *)0x21b" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);" (assignment_expression "pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b)" identifier = (call_expression "CRYPTO_strdup(local_74,"../apps/srp.c",0x21b)" identifier (argument_list "(local_74,"../apps/srp.c",0x21b)" ( identifier , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (expression_statement "piVar7[5] = (int)pcVar9;" (assignment_expression "piVar7[5] = (int)pcVar9" (subscript_expression "piVar7[5]" identifier [ number_literal ]) = (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pcVar9 == (char *)0x0) goto LAB_0006b570;" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006b570;" goto statement_identifier ;)) })) (labeled_statement "LAB_0006b430:\n              local_8c = (char *)0x1;" statement_identifier : (expression_statement "local_8c = (char *)0x1;" (assignment_expression "local_8c = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_0006b1bf;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b570:\n            local_8c = (char *)0x1;" statement_identifier : (expression_statement "local_8c = (char *)0x1;" (assignment_expression "local_8c = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_0006b578;" goto statement_identifier ;) })) (expression_statement "pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";" (assignment_expression "pcVar2 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n"" identifier = (string_literal ""Cannot create srp verifier for user \"%s\", operation abandoned.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "local_64 = extraout_ECX;" (assignment_expression "local_64 = extraout_ECX" identifier = identifier) ;) }))) (expression_statement "BIO_printf((BIO *)bio_err,pcVar2,local_5c,local_64);" (call_expression "BIO_printf((BIO *)bio_err,pcVar2,local_5c,local_64)" identifier (argument_list "((BIO *)bio_err,pcVar2,local_5c,local_64)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , identifier ))) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (if_statement "if (local_94 != 0) {\n          local_8c = (char *)0x1;\n          goto LAB_0006b596;\n        }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n          local_8c = (char *)0x1;\n          goto LAB_0006b596;\n        }" { (expression_statement "local_8c = (char *)0x1;" (assignment_expression "local_8c = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006b596;" goto statement_identifier ;) })) (goto_statement "goto LAB_0006af12;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (char **)0x0) {\n          BIO_printf((BIO *)bio_err,"List all users\n");\n          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }\n        }\n        else if (iVar4 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar4 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = (char *)0x1;\n        *(undefined1 *)*puVar6 = 0x56;\n        pcVar2 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }" statement_identifier : (if_statement "if (local_90 == 9) {\n        if (local_5c == (char **)0x0) {\n          BIO_printf((BIO *)bio_err,"List all users\n");\n          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }\n        }\n        else if (iVar4 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar4 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = (char *)0x1;\n        *(undefined1 *)*puVar6 = 0x56;\n        pcVar2 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(local_90 == 9)" ( (binary_expression "local_90 == 9" identifier == number_literal) )) (compound_statement "{\n        if (local_5c == (char **)0x0) {\n          BIO_printf((BIO *)bio_err,"List all users\n");\n          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }\n        }\n        else if (iVar4 < 0) goto LAB_0006b5bd;\n      }" { (if_statement "if (local_5c == (char **)0x0) {\n          BIO_printf((BIO *)bio_err,"List all users\n");\n          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }\n        }\n        else if (iVar4 < 0) goto LAB_0006b5bd;" if (parenthesized_expression "(local_5c == (char **)0x0)" ( (binary_expression "local_5c == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          BIO_printf((BIO *)bio_err,"List all users\n");\n          for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }\n        }" { (expression_statement "BIO_printf((BIO *)bio_err,"List all users\n");" (call_expression "BIO_printf((BIO *)bio_err,"List all users\n")" identifier (argument_list "((BIO *)bio_err,"List all users\n")" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""List all users\n"" " string_content escape_sequence ") ))) ;) (for_statement "for (iVar4 = 0; iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8; iVar4 = iVar4 + 1) {\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }" for ( (assignment_expression "iVar4 = 0" identifier = number_literal) ; (comma_expression "iVar8 = OPENSSL_sk_num(db->db->data), iVar4 < iVar8" (assignment_expression "iVar8 = OPENSSL_sk_num(db->db->data)" identifier = (call_expression "OPENSSL_sk_num(db->db->data)" identifier (argument_list "(db->db->data)" ( (field_expression "db->db->data" (field_expression "db->db" identifier -> field_identifier) -> field_identifier) )))) , (binary_expression "iVar4 < iVar8" identifier < identifier)) ; (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ) (compound_statement "{\n            print_user(db,iVar4,(int)in_stack_ffffff64);\n          }" { (expression_statement "print_user(db,iVar4,(int)in_stack_ffffff64);" (call_expression "print_user(db,iVar4,(int)in_stack_ffffff64)" identifier (argument_list "(db,iVar4,(int)in_stack_ffffff64)" ( identifier , identifier , (cast_expression "(int)in_stack_ffffff64" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) }) (else_clause "else if (iVar4 < 0) goto LAB_0006b5bd;" else (if_statement "if (iVar4 < 0) goto LAB_0006b5bd;" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0006b5bd;" goto statement_identifier ;)))) }) (else_clause "else if (local_90 == 6) {\n        if (iVar4 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = (char *)0x1;\n        *(undefined1 *)*puVar6 = 0x56;\n        pcVar2 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }" else (if_statement "if (local_90 == 6) {\n        if (iVar4 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = (char *)0x1;\n        *(undefined1 *)*puVar6 = 0x56;\n        pcVar2 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(local_90 == 6)" ( (binary_expression "local_90 == 6" identifier == number_literal) )) (compound_statement "{\n        if (iVar4 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n        BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = (char *)0x1;\n        *(undefined1 *)*puVar6 = 0x56;\n        pcVar2 = (char *)local_5c;\n      }" { (if_statement "if (iVar4 < 0) goto LAB_0006b2d2;" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0006b2d2;" goto statement_identifier ;)) (labeled_statement "LAB_0006b445:\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);" statement_identifier : (expression_statement "puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);" (assignment_expression "puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4)" identifier = (cast_expression "(undefined4 *)OPENSSL_sk_value(db->db->data,iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(db->db->data,iVar4)" identifier (argument_list "(db->db->data,iVar4)" ( (field_expression "db->db->data" (field_expression "db->db" identifier -> field_identifier) -> field_identifier) , identifier ))))) ;)) (expression_statement "BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c);" (call_expression "BIO_printf((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c)" identifier (argument_list "((BIO *)bio_err,"user \"%s\" reactivated.\n",local_5c)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""user \"%s\" reactivated.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_8c = (char *)0x1;" (assignment_expression "local_8c = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined1 *)*puVar6 = 0x56;" (assignment_expression "*(undefined1 *)*puVar6 = 0x56" (pointer_expression "*(undefined1 *)*puVar6" * (cast_expression "(undefined1 *)*puVar6" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) = number_literal) ;) (expression_statement "pcVar2 = (char *)local_5c;" (assignment_expression "pcVar2 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }" else (compound_statement "{\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }\n      }" { (labeled_statement "LAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }" statement_identifier : (if_statement "if (local_90 == 8) {\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }" if (parenthesized_expression "(local_90 == 8)" ( (binary_expression "local_90 == 8" identifier == number_literal) )) (compound_statement "{\n          if (-1 < iVar4) goto LAB_0006b487;\n          pcVar2 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);\n          local_68 = local_68 + 1;\n          pcVar2 = (char *)local_5c;\n        }" { (if_statement "if (-1 < iVar4) goto LAB_0006b487;" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (goto_statement "goto LAB_0006b487;" goto statement_identifier ;)) (expression_statement "pcVar2 = "user \"%s\" does not exist, operation ignored.\n";" (assignment_expression "pcVar2 = "user \"%s\" does not exist, operation ignored.\n"" identifier = (string_literal ""user \"%s\" does not exist, operation ignored.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (labeled_statement "LAB_0006b29c:\n          BIO_printf((BIO *)bio_err,pcVar2,local_5c);" statement_identifier : (expression_statement "BIO_printf((BIO *)bio_err,pcVar2,local_5c);" (call_expression "BIO_printf((BIO *)bio_err,pcVar2,local_5c)" identifier (argument_list "((BIO *)bio_err,pcVar2,local_5c)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;)) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "pcVar2 = (char *)local_5c;" (assignment_expression "pcVar2 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }" else (compound_statement "{\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }\n        }" { (labeled_statement "LAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }" statement_identifier : (if_statement "if (local_90 == 7) {\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }" if (parenthesized_expression "(local_90 == 7)" ( (binary_expression "local_90 == 7" identifier == number_literal) )) (compound_statement "{\n            if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }\n          }" { (if_statement "if (iVar4 < 0) {\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }\n            else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (compound_statement "{\n              BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);\n              local_68 = local_68 + 1;\n              pcVar2 = (char *)local_5c;\n            }" { (expression_statement "BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c);" (call_expression "BIO_printf((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c)" identifier (argument_list "((BIO *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",\n                         local_5c)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""user \"%s\" does not exist, operation ignored. t\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "pcVar2 = (char *)local_5c;" (assignment_expression "pcVar2 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }" else (compound_statement "{\n              puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);\n              BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = (char *)0x1;\n              *(undefined1 *)*puVar6 = 0x52;\n              pcVar2 = (char *)local_5c;\n            }" { (expression_statement "puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4);" (assignment_expression "puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar4)" identifier = (cast_expression "(undefined4 *)OPENSSL_sk_value(db->db->data,iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(db->db->data,iVar4)" identifier (argument_list "(db->db->data,iVar4)" ( (field_expression "db->db->data" (field_expression "db->db" identifier -> field_identifier) -> field_identifier) , identifier ))))) ;) (expression_statement "BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c);" (call_expression "BIO_printf((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c)" identifier (argument_list "((BIO *)bio_err,"user \"%s\" revoked. t\n",local_5c)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""user \"%s\" revoked. t\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_8c = (char *)0x1;" (assignment_expression "local_8c = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined1 *)*puVar6 = 0x52;" (assignment_expression "*(undefined1 *)*puVar6 = 0x52" (pointer_expression "*(undefined1 *)*puVar6" * (cast_expression "(undefined1 *)*puVar6" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) = number_literal) ;) (expression_statement "pcVar2 = (char *)local_5c;" (assignment_expression "pcVar2 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) }))) })))) })))))) (labeled_statement "LAB_0006b1bf:\n      local_5c = (char **)*local_64;" statement_identifier : (expression_statement "local_5c = (char **)*local_64;" (assignment_expression "local_5c = (char **)*local_64" identifier = (cast_expression "(char **)*local_64" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_64" * identifier))) ;)) (expression_statement "local_64 = local_64 + 1;" (assignment_expression "local_64 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) (if_statement "if (local_5c == (char **)0x0) break;" if (parenthesized_expression "(local_5c == (char **)0x0)" ( (binary_expression "local_5c == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (break_statement "break;" break ;)) })) (if_statement "if (local_94 != 0) {\n      BIO_printf((BIO *)bio_err,"User procession done.\n",pcVar2);\n    }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n      BIO_printf((BIO *)bio_err,"User procession done.\n",pcVar2);\n    }" { (expression_statement "BIO_printf((BIO *)bio_err,"User procession done.\n",pcVar2);" (call_expression "BIO_printf((BIO *)bio_err,"User procession done.\n",pcVar2)" identifier (argument_list "((BIO *)bio_err,"User procession done.\n",pcVar2)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""User procession done.\n"" " string_content escape_sequence ") , identifier ))) ;) })) (if_statement "if (local_8c != (char *)0x0) {\n      for (; iVar4 = OPENSSL_sk_num(db->db->data), iVar3 < iVar4; iVar3 = iVar3 + 1) {\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar3);\n        if ((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0)) {\n          print_user(db,iVar3,(int)in_stack_ffffff64);\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf((BIO *)bio_err,"Trying to update srpvfile.\n");\n        iVar3 = save_index((char *)local_80,"new",db);\n        if (iVar3 != 0) {\n          BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");\n          iVar3 = rotate_index((char *)local_80,"new","old");\n          if (iVar3 != 0) {\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar3 = save_index((char *)local_80,"new",db);\n      if ((iVar3 != 0) && (iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      goto LAB_0006b057;\n    }" if (parenthesized_expression "(local_8c != (char *)0x0)" ( (binary_expression "local_8c != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      for (; iVar4 = OPENSSL_sk_num(db->db->data), iVar3 < iVar4; iVar3 = iVar3 + 1) {\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar3);\n        if ((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0)) {\n          print_user(db,iVar3,(int)in_stack_ffffff64);\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf((BIO *)bio_err,"Trying to update srpvfile.\n");\n        iVar3 = save_index((char *)local_80,"new",db);\n        if (iVar3 != 0) {\n          BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");\n          iVar3 = rotate_index((char *)local_80,"new","old");\n          if (iVar3 != 0) {\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar3 = save_index((char *)local_80,"new",db);\n      if ((iVar3 != 0) && (iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      goto LAB_0006b057;\n    }" { (for_statement "for (; iVar4 = OPENSSL_sk_num(db->db->data), iVar3 < iVar4; iVar3 = iVar3 + 1) {\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar3);\n        if ((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0)) {\n          print_user(db,iVar3,(int)in_stack_ffffff64);\n        }\n      }" for ( ; (comma_expression "iVar4 = OPENSSL_sk_num(db->db->data), iVar3 < iVar4" (assignment_expression "iVar4 = OPENSSL_sk_num(db->db->data)" identifier = (call_expression "OPENSSL_sk_num(db->db->data)" identifier (argument_list "(db->db->data)" ( (field_expression "db->db->data" (field_expression "db->db" identifier -> field_identifier) -> field_identifier) )))) , (binary_expression "iVar3 < iVar4" identifier < identifier)) ; (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ) (compound_statement "{\n        puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar3);\n        if ((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0)) {\n          print_user(db,iVar3,(int)in_stack_ffffff64);\n        }\n      }" { (expression_statement "puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar3);" (assignment_expression "puVar6 = (undefined4 *)OPENSSL_sk_value(db->db->data,iVar3)" identifier = (cast_expression "(undefined4 *)OPENSSL_sk_value(db->db->data,iVar3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(db->db->data,iVar3)" identifier (argument_list "(db->db->data,iVar3)" ( (field_expression "db->db->data" (field_expression "db->db" identifier -> field_identifier) -> field_identifier) , identifier ))))) ;) (if_statement "if ((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0)) {\n          print_user(db,iVar3,(int)in_stack_ffffff64);\n        }" if (parenthesized_expression "((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0))" ( (binary_expression "(*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', local_94 != 0)" (parenthesized_expression "(*(char *)*puVar6 == 'v')" ( (binary_expression "*(char *)*puVar6 == 'v'" (pointer_expression "*(char *)*puVar6" * (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) == (char_literal "'v'" ' character ')) )) && (parenthesized_expression "(*(char *)*puVar6 = 'V', local_94 != 0)" ( (comma_expression "*(char *)*puVar6 = 'V', local_94 != 0" (assignment_expression "*(char *)*puVar6 = 'V'" (pointer_expression "*(char *)*puVar6" * (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) = (char_literal "'V'" ' character ')) , (binary_expression "local_94 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          print_user(db,iVar3,(int)in_stack_ffffff64);\n        }" { (expression_statement "print_user(db,iVar3,(int)in_stack_ffffff64);" (call_expression "print_user(db,iVar3,(int)in_stack_ffffff64)" identifier (argument_list "(db,iVar3,(int)in_stack_ffffff64)" ( identifier , identifier , (cast_expression "(int)in_stack_ffffff64" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) })) (if_statement "if (local_94 != 0) {\n        BIO_printf((BIO *)bio_err,"Trying to update srpvfile.\n");\n        iVar3 = save_index((char *)local_80,"new",db);\n        if (iVar3 != 0) {\n          BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");\n          iVar3 = rotate_index((char *)local_80,"new","old");\n          if (iVar3 != 0) {\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n        BIO_printf((BIO *)bio_err,"Trying to update srpvfile.\n");\n        iVar3 = save_index((char *)local_80,"new",db);\n        if (iVar3 != 0) {\n          BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");\n          iVar3 = rotate_index((char *)local_80,"new","old");\n          if (iVar3 != 0) {\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }" { (expression_statement "BIO_printf((BIO *)bio_err,"Trying to update srpvfile.\n");" (call_expression "BIO_printf((BIO *)bio_err,"Trying to update srpvfile.\n")" identifier (argument_list "((BIO *)bio_err,"Trying to update srpvfile.\n")" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Trying to update srpvfile.\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar3 = save_index((char *)local_80,"new",db);" (assignment_expression "iVar3 = save_index((char *)local_80,"new",db)" identifier = (call_expression "save_index((char *)local_80,"new",db)" identifier (argument_list "((char *)local_80,"new",db)" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""new"" " string_content ") , identifier )))) ;) (if_statement "if (iVar3 != 0) {\n          BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");\n          iVar3 = rotate_index((char *)local_80,"new","old");\n          if (iVar3 != 0) {\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");\n          iVar3 = rotate_index((char *)local_80,"new","old");\n          if (iVar3 != 0) {\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }" { (expression_statement "BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n");" (call_expression "BIO_printf((BIO *)bio_err,"Temporary srpvfile created.\n")" identifier (argument_list "((BIO *)bio_err,"Temporary srpvfile created.\n")" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""Temporary srpvfile created.\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar3 = rotate_index((char *)local_80,"new","old");" (assignment_expression "iVar3 = rotate_index((char *)local_80,"new","old")" identifier = (call_expression "rotate_index((char *)local_80,"new","old")" identifier (argument_list "((char *)local_80,"new","old")" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""new"" " string_content ") , (string_literal ""old"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n            BIO_printf((BIO *)bio_err,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }" { (expression_statement "BIO_printf((BIO *)bio_err,"srpvfile updated.\n");" (call_expression "BIO_printf((BIO *)bio_err,"srpvfile updated.\n")" identifier (argument_list "((BIO *)bio_err,"srpvfile updated.\n")" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""srpvfile updated.\n"" " string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_0006b7f8;" goto statement_identifier ;) })) })) (if_statement "if (local_68 != 0) goto LAB_0006b596;" if (parenthesized_expression "(local_68 != 0)" ( (binary_expression "local_68 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006b596;" goto statement_identifier ;)) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) (expression_statement "iVar3 = save_index((char *)local_80,"new",db);" (assignment_expression "iVar3 = save_index((char *)local_80,"new",db)" identifier = (call_expression "save_index((char *)local_80,"new",db)" identifier (argument_list "((char *)local_80,"new",db)" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""new"" " string_content ") , identifier )))) ;) (if_statement "if ((iVar3 != 0) && (iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0))\n      goto LAB_0006b7f8;" if (parenthesized_expression "((iVar3 != 0) && (iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0))" ( (binary_expression "(iVar3 != 0) && (iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0)" ( (comma_expression "iVar3 = rotate_index((char *)local_80,"new","old"), iVar3 != 0" (assignment_expression "iVar3 = rotate_index((char *)local_80,"new","old")" identifier = (call_expression "rotate_index((char *)local_80,"new","old")" identifier (argument_list "((char *)local_80,"new","old")" ( (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""new"" " string_content ") , (string_literal ""old"" " string_content ") )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0006b7f8;" goto statement_identifier ;)) (expression_statement "CRYPTO_free(passin);" (call_expression "CRYPTO_free(passin)" identifier (argument_list "(passin)" ( identifier ))) ;) (expression_statement "CRYPTO_free(passout);" (call_expression "CRYPTO_free(passout)" identifier (argument_list "(passout)" ( identifier ))) ;) (goto_statement "goto LAB_0006b057;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b7f8:\n    local_8c = (char *)(uint)(local_68 != 0);" statement_identifier : (expression_statement "local_8c = (char *)(uint)(local_68 != 0);" (assignment_expression "local_8c = (char *)(uint)(local_68 != 0)" identifier = (cast_expression "(char *)(uint)(local_68 != 0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(local_68 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_68 != 0)" ( (binary_expression "local_68 != 0" identifier != number_literal) ))))) ;)) (labeled_statement "LAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }" statement_identifier : (if_statement "if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }" if (parenthesized_expression "(local_68 != 0)" ( (binary_expression "local_68 != 0" identifier != number_literal) )) (compound_statement "{\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }" { (if_statement "if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0006b596:\n        BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }" { (labeled_statement "LAB_0006b596:\n        BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);" statement_identifier : (expression_statement "BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68);" (call_expression "BIO_printf((BIO *)bio_err,"User errors %d.\n",local_68)" identifier (argument_list "((BIO *)bio_err,"User errors %d.\n",local_68)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""User errors %d.\n"" " string_content escape_sequence ") , identifier ))) ;)) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) (goto_statement "goto LAB_0006b01a;" goto statement_identifier ;) }))) (labeled_statement "LAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;" statement_identifier : (if_statement "if (local_94 == 0) goto LAB_0006b01a;" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006b01a;" goto statement_identifier ;))) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) (expression_statement "pcVar9 = "-passin, -passout arguments only valid with one user.\n";" (assignment_expression "pcVar9 = "-passin, -passout arguments only valid with one user.\n"" identifier = (string_literal ""-passin, -passout arguments only valid with one user.\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_0006b69b:\n  BIO_printf((BIO *)bio_err,pcVar9,puVar11);" statement_identifier : (expression_statement "BIO_printf((BIO *)bio_err,pcVar9,puVar11);" (call_expression "BIO_printf((BIO *)bio_err,pcVar9,puVar11)" identifier (argument_list "((BIO *)bio_err,pcVar9,puVar11)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;)) (labeled_statement "LAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";" statement_identifier : (expression_statement "pcVar9 = "%s: Use -help for summary.\n";" (assignment_expression "pcVar9 = "%s: Use -help for summary.\n"" identifier = (string_literal ""%s: Use -help for summary.\n"" " string_content escape_sequence ")) ;)) (labeled_statement "LAB_0006aee4:\n  db = (CA_DB *)0x0;" statement_identifier : (expression_statement "db = (CA_DB *)0x0;" (assignment_expression "db = (CA_DB *)0x0" identifier = (cast_expression "(CA_DB *)0x0" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "BIO_printf((BIO *)bio_err,pcVar9,pcVar2);" (call_expression "BIO_printf((BIO *)bio_err,pcVar9,pcVar2)" identifier (argument_list "((BIO *)bio_err,pcVar9,pcVar2)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = (char *)0x1;\nLAB_0006b002:\n    BIO_printf((BIO *)bio_err,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n    if (local_8c == (char *)0x0) goto LAB_0006ae29;\n  }" statement_identifier : (if_statement "if (local_94 == 0) {\nLAB_0006af12:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = (char *)0x1;\nLAB_0006b002:\n    BIO_printf((BIO *)bio_err,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n    if (local_8c == (char *)0x0) goto LAB_0006ae29;\n  }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0006af12:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n  }" { (labeled_statement "LAB_0006af12:\n    CRYPTO_free(passin);" statement_identifier : (expression_statement "CRYPTO_free(passin);" (call_expression "CRYPTO_free(passin)" identifier (argument_list "(passin)" ( identifier ))) ;)) (expression_statement "CRYPTO_free(passout);" (call_expression "CRYPTO_free(passout)" identifier (argument_list "(passout)" ( identifier ))) ;) }) (else_clause "else {\nLAB_0006b0c2:\n    local_8c = (char *)0x1;\nLAB_0006b002:\n    BIO_printf((BIO *)bio_err,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n    if (local_8c == (char *)0x0) goto LAB_0006ae29;\n  }" else (compound_statement "{\nLAB_0006b0c2:\n    local_8c = (char *)0x1;\nLAB_0006b002:\n    BIO_printf((BIO *)bio_err,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    CRYPTO_free(passin);\n    CRYPTO_free(passout);\n    if (local_8c == (char *)0x0) goto LAB_0006ae29;\n  }" { (labeled_statement "LAB_0006b0c2:\n    local_8c = (char *)0x1;" statement_identifier : (expression_statement "local_8c = (char *)0x1;" (assignment_expression "local_8c = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_0006b002:\n    BIO_printf((BIO *)bio_err,"SRP terminating with code %d.\n",local_8c);" statement_identifier : (expression_statement "BIO_printf((BIO *)bio_err,"SRP terminating with code %d.\n",local_8c);" (call_expression "BIO_printf((BIO *)bio_err,"SRP terminating with code %d.\n",local_8c)" identifier (argument_list "((BIO *)bio_err,"SRP terminating with code %d.\n",local_8c)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""SRP terminating with code %d.\n"" " string_content escape_sequence ") , identifier ))) ;)) (labeled_statement "LAB_0006b01a:\n    CRYPTO_free(passin);" statement_identifier : (expression_statement "CRYPTO_free(passin);" (call_expression "CRYPTO_free(passin)" identifier (argument_list "(passin)" ( identifier ))) ;)) (expression_statement "CRYPTO_free(passout);" (call_expression "CRYPTO_free(passout)" identifier (argument_list "(passout)" ( identifier ))) ;) (if_statement "if (local_8c == (char *)0x0) goto LAB_0006ae29;" if (parenthesized_expression "(local_8c == (char *)0x0)" ( (binary_expression "local_8c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006ae29;" goto statement_identifier ;)) })))) (labeled_statement "LAB_0006b057:\n  ERR_print_errors((BIO *)bio_err);" statement_identifier : (expression_statement "ERR_print_errors((BIO *)bio_err);" (call_expression "ERR_print_errors((BIO *)bio_err)" identifier (argument_list "((BIO *)bio_err)" ( (cast_expression "(BIO *)bio_err" ( (type_descriptor "BIO *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "local_8c = (char *)0x1;" (assignment_expression "local_8c = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0006ae29:\n  NCONF_free((CONF *)local_84);" statement_identifier : (expression_statement "NCONF_free((CONF *)local_84);" (call_expression "NCONF_free((CONF *)local_84)" identifier (argument_list "((CONF *)local_84)" ( (cast_expression "(CONF *)local_84" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "free_index(db);" (call_expression "free_index(db)" identifier (argument_list "(db)" ( identifier ))) ;) (expression_statement "release_engine(local_88);" (call_expression "release_engine(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;) (if_statement "if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(iVar1 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return (uint)local_8c;" return (cast_expression "(uint)local_8c" ( (type_descriptor "uint" type_identifier) ) identifier) ;) (labeled_statement "LAB_0006abe9:\n  while (iVar3 < 10) {\n    if (5 < iVar3) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar3;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      puVar11 = pcVar2;\n      goto LAB_0006b69b;\n    }\n    if (iVar3 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar3 < 3) {\n      if (iVar3 == -1) goto LAB_0006aed6;\n      if (iVar3 != 1) goto LAB_0006abe0;\n      opt_help((OPTIONS *)srp_options);\n      if (local_94 != 0) {\n        local_8c = (char *)0x0;\n        db = (CA_DB *)0x0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      db = (CA_DB *)0x0;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      local_8c = (char *)0x0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar3 == 4) {\n      pcVar9 = opt_arg();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar3) {\n      local_80 = (char **)opt_arg();\n      goto LAB_0006abe0;\n    }\n    local_7c = (char **)opt_arg();\n    iVar3 = opt_next();\n    if (iVar3 == 0) {\n      iVar3 = 0;\n      goto LAB_0006ac30;\n    }\n  }" statement_identifier : (while_statement "while (iVar3 < 10) {\n    if (5 < iVar3) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar3;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      puVar11 = pcVar2;\n      goto LAB_0006b69b;\n    }\n    if (iVar3 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar3 < 3) {\n      if (iVar3 == -1) goto LAB_0006aed6;\n      if (iVar3 != 1) goto LAB_0006abe0;\n      opt_help((OPTIONS *)srp_options);\n      if (local_94 != 0) {\n        local_8c = (char *)0x0;\n        db = (CA_DB *)0x0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      db = (CA_DB *)0x0;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      local_8c = (char *)0x0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar3 == 4) {\n      pcVar9 = opt_arg();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar3) {\n      local_80 = (char **)opt_arg();\n      goto LAB_0006abe0;\n    }\n    local_7c = (char **)opt_arg();\n    iVar3 = opt_next();\n    if (iVar3 == 0) {\n      iVar3 = 0;\n      goto LAB_0006ac30;\n    }\n  }" while (parenthesized_expression "(iVar3 < 10)" ( (binary_expression "iVar3 < 10" identifier < number_literal) )) (compound_statement "{\n    if (5 < iVar3) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar3;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      puVar11 = pcVar2;\n      goto LAB_0006b69b;\n    }\n    if (iVar3 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar3 < 3) {\n      if (iVar3 == -1) goto LAB_0006aed6;\n      if (iVar3 != 1) goto LAB_0006abe0;\n      opt_help((OPTIONS *)srp_options);\n      if (local_94 != 0) {\n        local_8c = (char *)0x0;\n        db = (CA_DB *)0x0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      db = (CA_DB *)0x0;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      local_8c = (char *)0x0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar3 == 4) {\n      pcVar9 = opt_arg();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar3) {\n      local_80 = (char **)opt_arg();\n      goto LAB_0006abe0;\n    }\n    local_7c = (char **)opt_arg();\n    iVar3 = opt_next();\n    if (iVar3 == 0) {\n      iVar3 = 0;\n      goto LAB_0006ac30;\n    }\n  }" { (if_statement "if (5 < iVar3) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar3;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      puVar11 = pcVar2;\n      goto LAB_0006b69b;\n    }" if (parenthesized_expression "(5 < iVar3)" ( (binary_expression "5 < iVar3" number_literal < identifier) )) (compound_statement "{\n      bVar10 = local_90 == -1;\n      local_90 = iVar3;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      puVar11 = pcVar2;\n      goto LAB_0006b69b;\n    }" { (expression_statement "bVar10 = local_90 == -1;" (assignment_expression "bVar10 = local_90 == -1" identifier = (binary_expression "local_90 == -1" identifier == number_literal)) ;) (expression_statement "local_90 = iVar3;" (assignment_expression "local_90 = iVar3" identifier = identifier) ;) (if_statement "if (bVar10) goto LAB_0006abe0;" if (parenthesized_expression "(bVar10)" ( identifier )) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;)) (expression_statement "pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";" (assignment_expression "pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n"" identifier = (string_literal ""%s: Only one of -add/-delete/-modify/-list\n"" " string_content escape_sequence ")) ;) (expression_statement "puVar11 = pcVar2;" (assignment_expression "puVar11 = pcVar2" identifier = identifier) ;) (goto_statement "goto LAB_0006b69b;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (compound_statement "{\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }" { (expression_statement "local_94 = local_94 + 1;" (assignment_expression "local_94 = local_94 + 1" identifier = (binary_expression "local_94 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;) })) (if_statement "if (iVar3 < 3) {\n      if (iVar3 == -1) goto LAB_0006aed6;\n      if (iVar3 != 1) goto LAB_0006abe0;\n      opt_help((OPTIONS *)srp_options);\n      if (local_94 != 0) {\n        local_8c = (char *)0x0;\n        db = (CA_DB *)0x0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      db = (CA_DB *)0x0;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      local_8c = (char *)0x0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }" if (parenthesized_expression "(iVar3 < 3)" ( (binary_expression "iVar3 < 3" identifier < number_literal) )) (compound_statement "{\n      if (iVar3 == -1) goto LAB_0006aed6;\n      if (iVar3 != 1) goto LAB_0006abe0;\n      opt_help((OPTIONS *)srp_options);\n      if (local_94 != 0) {\n        local_8c = (char *)0x0;\n        db = (CA_DB *)0x0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      db = (CA_DB *)0x0;\n      CRYPTO_free(passin);\n      CRYPTO_free(passout);\n      local_8c = (char *)0x0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }" { (if_statement "if (iVar3 == -1) goto LAB_0006aed6;" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0006aed6;" goto statement_identifier ;)) (if_statement "if (iVar3 != 1) goto LAB_0006abe0;" if (parenthesized_expression "(iVar3 != 1)" ( (binary_expression "iVar3 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;)) (expression_statement "opt_help((OPTIONS *)srp_options);" (call_expression "opt_help((OPTIONS *)srp_options)" identifier (argument_list "((OPTIONS *)srp_options)" ( (cast_expression "(OPTIONS *)srp_options" ( (type_descriptor "OPTIONS *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (local_94 != 0) {\n        local_8c = (char *)0x0;\n        db = (CA_DB *)0x0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n        local_8c = (char *)0x0;\n        db = (CA_DB *)0x0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }" { (expression_statement "local_8c = (char *)0x0;" (assignment_expression "local_8c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "db = (CA_DB *)0x0;" (assignment_expression "db = (CA_DB *)0x0" identifier = (cast_expression "(CA_DB *)0x0" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) (expression_statement "db = (CA_DB *)0x0;" (assignment_expression "db = (CA_DB *)0x0" identifier = (cast_expression "(CA_DB *)0x0" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "CRYPTO_free(passin);" (call_expression "CRYPTO_free(passin)" identifier (argument_list "(passin)" ( identifier ))) ;) (expression_statement "CRYPTO_free(passout);" (call_expression "CRYPTO_free(passout)" identifier (argument_list "(passout)" ( identifier ))) ;) (expression_statement "local_8c = (char *)0x0;" (assignment_expression "local_8c = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006ae29;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 4) {\n      pcVar9 = opt_arg();\n      goto LAB_0006abe0;\n    }" if (parenthesized_expression "(iVar3 == 4)" ( (binary_expression "iVar3 == 4" identifier == number_literal) )) (compound_statement "{\n      pcVar9 = opt_arg();\n      goto LAB_0006abe0;\n    }" { (expression_statement "pcVar9 = opt_arg();" (assignment_expression "pcVar9 = opt_arg()" identifier = (call_expression "opt_arg()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;) })) (if_statement "if (4 < iVar3) {\n      local_80 = (char **)opt_arg();\n      goto LAB_0006abe0;\n    }" if (parenthesized_expression "(4 < iVar3)" ( (binary_expression "4 < iVar3" number_literal < identifier) )) (compound_statement "{\n      local_80 = (char **)opt_arg();\n      goto LAB_0006abe0;\n    }" { (expression_statement "local_80 = (char **)opt_arg();" (assignment_expression "local_80 = (char **)opt_arg()" identifier = (cast_expression "(char **)opt_arg()" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "opt_arg()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;) })) (expression_statement "local_7c = (char **)opt_arg();" (assignment_expression "local_7c = (char **)opt_arg()" identifier = (cast_expression "(char **)opt_arg()" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "opt_arg()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = opt_next();" (assignment_expression "iVar3 = opt_next()" identifier = (call_expression "opt_next()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n      iVar3 = 0;\n      goto LAB_0006ac30;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = 0;\n      goto LAB_0006ac30;\n    }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0006ac30;" goto statement_identifier ;) })) }))) (if_statement "if (iVar3 == 0xd) {\n    local_84 = (CONF *)opt_arg();\n  }\n  else if (iVar3 < 0xe) {\n    if (iVar3 == 0xb) {\n      local_74 = opt_arg();\n    }\n    else if (iVar3 < 0xc) {\n      local_78 = opt_arg();\n    }\n    else {\n      local_8c = opt_arg();\n    }\n  }\n  else if (iVar3 == 0xe) {\n    engine = opt_arg();\n    local_88 = setup_engine(engine,0);\n  }\n  else if ((iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0)) {\n    local_8c = (char *)0x1;\n    db = (CA_DB *)0x0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" if (parenthesized_expression "(iVar3 == 0xd)" ( (binary_expression "iVar3 == 0xd" identifier == number_literal) )) (compound_statement "{\n    local_84 = (CONF *)opt_arg();\n  }" { (expression_statement "local_84 = (CONF *)opt_arg();" (assignment_expression "local_84 = (CONF *)opt_arg()" identifier = (cast_expression "(CONF *)opt_arg()" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "opt_arg()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else if (iVar3 < 0xe) {\n    if (iVar3 == 0xb) {\n      local_74 = opt_arg();\n    }\n    else if (iVar3 < 0xc) {\n      local_78 = opt_arg();\n    }\n    else {\n      local_8c = opt_arg();\n    }\n  }\n  else if (iVar3 == 0xe) {\n    engine = opt_arg();\n    local_88 = setup_engine(engine,0);\n  }\n  else if ((iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0)) {\n    local_8c = (char *)0x1;\n    db = (CA_DB *)0x0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" else (if_statement "if (iVar3 < 0xe) {\n    if (iVar3 == 0xb) {\n      local_74 = opt_arg();\n    }\n    else if (iVar3 < 0xc) {\n      local_78 = opt_arg();\n    }\n    else {\n      local_8c = opt_arg();\n    }\n  }\n  else if (iVar3 == 0xe) {\n    engine = opt_arg();\n    local_88 = setup_engine(engine,0);\n  }\n  else if ((iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0)) {\n    local_8c = (char *)0x1;\n    db = (CA_DB *)0x0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" if (parenthesized_expression "(iVar3 < 0xe)" ( (binary_expression "iVar3 < 0xe" identifier < number_literal) )) (compound_statement "{\n    if (iVar3 == 0xb) {\n      local_74 = opt_arg();\n    }\n    else if (iVar3 < 0xc) {\n      local_78 = opt_arg();\n    }\n    else {\n      local_8c = opt_arg();\n    }\n  }" { (if_statement "if (iVar3 == 0xb) {\n      local_74 = opt_arg();\n    }\n    else if (iVar3 < 0xc) {\n      local_78 = opt_arg();\n    }\n    else {\n      local_8c = opt_arg();\n    }" if (parenthesized_expression "(iVar3 == 0xb)" ( (binary_expression "iVar3 == 0xb" identifier == number_literal) )) (compound_statement "{\n      local_74 = opt_arg();\n    }" { (expression_statement "local_74 = opt_arg();" (assignment_expression "local_74 = opt_arg()" identifier = (call_expression "opt_arg()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else if (iVar3 < 0xc) {\n      local_78 = opt_arg();\n    }\n    else {\n      local_8c = opt_arg();\n    }" else (if_statement "if (iVar3 < 0xc) {\n      local_78 = opt_arg();\n    }\n    else {\n      local_8c = opt_arg();\n    }" if (parenthesized_expression "(iVar3 < 0xc)" ( (binary_expression "iVar3 < 0xc" identifier < number_literal) )) (compound_statement "{\n      local_78 = opt_arg();\n    }" { (expression_statement "local_78 = opt_arg();" (assignment_expression "local_78 = opt_arg()" identifier = (call_expression "opt_arg()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n      local_8c = opt_arg();\n    }" else (compound_statement "{\n      local_8c = opt_arg();\n    }" { (expression_statement "local_8c = opt_arg();" (assignment_expression "local_8c = opt_arg()" identifier = (call_expression "opt_arg()" identifier (argument_list "()" ( )))) ;) }))))) }) (else_clause "else if (iVar3 == 0xe) {\n    engine = opt_arg();\n    local_88 = setup_engine(engine,0);\n  }\n  else if ((iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0)) {\n    local_8c = (char *)0x1;\n    db = (CA_DB *)0x0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" else (if_statement "if (iVar3 == 0xe) {\n    engine = opt_arg();\n    local_88 = setup_engine(engine,0);\n  }\n  else if ((iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0)) {\n    local_8c = (char *)0x1;\n    db = (CA_DB *)0x0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" if (parenthesized_expression "(iVar3 == 0xe)" ( (binary_expression "iVar3 == 0xe" identifier == number_literal) )) (compound_statement "{\n    engine = opt_arg();\n    local_88 = setup_engine(engine,0);\n  }" { (expression_statement "engine = opt_arg();" (assignment_expression "engine = opt_arg()" identifier = (call_expression "opt_arg()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_88 = setup_engine(engine,0);" (assignment_expression "local_88 = setup_engine(engine,0)" identifier = (call_expression "setup_engine(engine,0)" identifier (argument_list "(engine,0)" ( identifier , number_literal )))) ;) }) (else_clause "else if ((iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0)) {\n    local_8c = (char *)0x1;\n    db = (CA_DB *)0x0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" else (if_statement "if ((iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0)) {\n    local_8c = (char *)0x1;\n    db = (CA_DB *)0x0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" if (parenthesized_expression "((iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0))" ( (binary_expression "(iVar3 - 0x5ddU < 2) && (iVar3 = opt_rand(iVar3), iVar3 == 0)" (parenthesized_expression "(iVar3 - 0x5ddU < 2)" ( (binary_expression "iVar3 - 0x5ddU < 2" (binary_expression "iVar3 - 0x5ddU" identifier - number_literal) < number_literal) )) && (parenthesized_expression "(iVar3 = opt_rand(iVar3), iVar3 == 0)" ( (comma_expression "iVar3 = opt_rand(iVar3), iVar3 == 0" (assignment_expression "iVar3 = opt_rand(iVar3)" identifier = (call_expression "opt_rand(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_8c = (char *)0x1;\n    db = (CA_DB *)0x0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" { (expression_statement "local_8c = (char *)0x1;" (assignment_expression "local_8c = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "db = (CA_DB *)0x0;" (assignment_expression "db = (CA_DB *)0x0" identifier = (cast_expression "(CA_DB *)0x0" ( (type_descriptor "CA_DB *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006aeb8;" goto statement_identifier ;) })))))))) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;) })))
(translation_unit "uint FUN_0006ab40(undefined4 param_1,undefined4 param_2)\n\n{\n  char *pcVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  OPENSSL_STRING *value;\n  int *piVar6;\n  undefined4 *extraout_ECX;\n  int iVar7;\n  int iVar8;\n  char *pcVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int local_94;\n  int local_90;\n  uint local_8c;\n  undefined4 local_88;\n  CONF *local_84;\n  undefined **local_80;\n  undefined **local_7c;\n  char *local_78;\n  char *local_74;\n  int local_68;\n  undefined4 *local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined *local_40;\n  void *local_3c;\n  char *local_38;\n  void *local_34;\n  void *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  pcVar9 = (char *)0x0;\n  uStack_14 = 0x6ab4b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = (undefined *)0x0;\n  local_3c = (void *)0x0;\n  ppuVar11 = &PTR_DAT_000ba060;\n  pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);\n  local_80 = (undefined **)0x0;\n  local_7c = (undefined **)0x0;\n  local_74 = (char *)0x0;\n  local_78 = (char *)0x0;\n  local_84 = (CONF *)0x0;\n  local_8c = 0;\n  local_90 = -1;\n  local_94 = 0;\n  local_88 = 0;\nLAB_0006abe0:\n  iVar2 = FUN_00078780();\n  if (iVar2 != 0) goto LAB_0006abe9;\nLAB_0006ac30:\n  iVar3 = FUN_00079110();\n  local_64 = (undefined4 *)FUN_000790f0();\n  if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }\n  if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }\n  if (local_90 - 6U < 3) {\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (undefined **)0x0;\n  }\n  if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }\n  pcVar9 = "-passin, -passout arguments only valid with one user.\n";\nLAB_0006b69b:\n  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);\nLAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";\nLAB_0006aee4:\n  iVar3 = 0;\n  BIO_printf(DAT_000c458c,pcVar9,pcVar1);\n  local_84 = (CONF *)0x0;\nLAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }\nLAB_0006b057:\n  ERR_print_errors(DAT_000c458c);\n  local_8c = 1;\nLAB_0006ae29:\n  NCONF_free(local_84);\n  FUN_00074e20(iVar3,local_7c,uVar12);\n  FUN_00074230(local_88);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007d010();\n  }\n  return local_8c;\nLAB_0006abe9:\n  while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }\n  if (iVar2 == 0xd) {\n    local_84 = (CONF *)FUN_00078b30();\n  }\n  else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }\n  goto LAB_0006abe0;\n}\n\n" (function_definition "uint FUN_0006ab40(undefined4 param_1,undefined4 param_2)\n\n{\n  char *pcVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  OPENSSL_STRING *value;\n  int *piVar6;\n  undefined4 *extraout_ECX;\n  int iVar7;\n  int iVar8;\n  char *pcVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int local_94;\n  int local_90;\n  uint local_8c;\n  undefined4 local_88;\n  CONF *local_84;\n  undefined **local_80;\n  undefined **local_7c;\n  char *local_78;\n  char *local_74;\n  int local_68;\n  undefined4 *local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined *local_40;\n  void *local_3c;\n  char *local_38;\n  void *local_34;\n  void *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  pcVar9 = (char *)0x0;\n  uStack_14 = 0x6ab4b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = (undefined *)0x0;\n  local_3c = (void *)0x0;\n  ppuVar11 = &PTR_DAT_000ba060;\n  pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);\n  local_80 = (undefined **)0x0;\n  local_7c = (undefined **)0x0;\n  local_74 = (char *)0x0;\n  local_78 = (char *)0x0;\n  local_84 = (CONF *)0x0;\n  local_8c = 0;\n  local_90 = -1;\n  local_94 = 0;\n  local_88 = 0;\nLAB_0006abe0:\n  iVar2 = FUN_00078780();\n  if (iVar2 != 0) goto LAB_0006abe9;\nLAB_0006ac30:\n  iVar3 = FUN_00079110();\n  local_64 = (undefined4 *)FUN_000790f0();\n  if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }\n  if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }\n  if (local_90 - 6U < 3) {\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (undefined **)0x0;\n  }\n  if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }\n  pcVar9 = "-passin, -passout arguments only valid with one user.\n";\nLAB_0006b69b:\n  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);\nLAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";\nLAB_0006aee4:\n  iVar3 = 0;\n  BIO_printf(DAT_000c458c,pcVar9,pcVar1);\n  local_84 = (CONF *)0x0;\nLAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }\nLAB_0006b057:\n  ERR_print_errors(DAT_000c458c);\n  local_8c = 1;\nLAB_0006ae29:\n  NCONF_free(local_84);\n  FUN_00074e20(iVar3,local_7c,uVar12);\n  FUN_00074230(local_88);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007d010();\n  }\n  return local_8c;\nLAB_0006abe9:\n  while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }\n  if (iVar2 == 0xd) {\n    local_84 = (CONF *)FUN_00078b30();\n  }\n  else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }\n  goto LAB_0006abe0;\n}" type_identifier (function_declarator "FUN_0006ab40(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  char *pcVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  OPENSSL_STRING *value;\n  int *piVar6;\n  undefined4 *extraout_ECX;\n  int iVar7;\n  int iVar8;\n  char *pcVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int local_94;\n  int local_90;\n  uint local_8c;\n  undefined4 local_88;\n  CONF *local_84;\n  undefined **local_80;\n  undefined **local_7c;\n  char *local_78;\n  char *local_74;\n  int local_68;\n  undefined4 *local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined *local_40;\n  void *local_3c;\n  char *local_38;\n  void *local_34;\n  void *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  pcVar9 = (char *)0x0;\n  uStack_14 = 0x6ab4b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = (undefined *)0x0;\n  local_3c = (void *)0x0;\n  ppuVar11 = &PTR_DAT_000ba060;\n  pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);\n  local_80 = (undefined **)0x0;\n  local_7c = (undefined **)0x0;\n  local_74 = (char *)0x0;\n  local_78 = (char *)0x0;\n  local_84 = (CONF *)0x0;\n  local_8c = 0;\n  local_90 = -1;\n  local_94 = 0;\n  local_88 = 0;\nLAB_0006abe0:\n  iVar2 = FUN_00078780();\n  if (iVar2 != 0) goto LAB_0006abe9;\nLAB_0006ac30:\n  iVar3 = FUN_00079110();\n  local_64 = (undefined4 *)FUN_000790f0();\n  if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }\n  if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }\n  if (local_90 - 6U < 3) {\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (undefined **)0x0;\n  }\n  if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }\n  pcVar9 = "-passin, -passout arguments only valid with one user.\n";\nLAB_0006b69b:\n  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);\nLAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";\nLAB_0006aee4:\n  iVar3 = 0;\n  BIO_printf(DAT_000c458c,pcVar9,pcVar1);\n  local_84 = (CONF *)0x0;\nLAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }\nLAB_0006b057:\n  ERR_print_errors(DAT_000c458c);\n  local_8c = 1;\nLAB_0006ae29:\n  NCONF_free(local_84);\n  FUN_00074e20(iVar3,local_7c,uVar12);\n  FUN_00074230(local_88);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007d010();\n  }\n  return local_8c;\nLAB_0006abe9:\n  while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }\n  if (iVar2 == 0xd) {\n    local_84 = (CONF *)FUN_00078b30();\n  }\n  else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }\n  goto LAB_0006abe0;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "OPENSSL_STRING *value;" type_identifier (pointer_declarator "*value" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "undefined4 *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "undefined **ppuVar11;" type_identifier (pointer_declarator "**ppuVar11" * (pointer_declarator "*ppuVar11" * identifier)) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int local_90;" primitive_type identifier ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "CONF *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "undefined **local_80;" type_identifier (pointer_declarator "**local_80" * (pointer_declarator "*local_80" * identifier)) ;) (declaration "undefined **local_7c;" type_identifier (pointer_declarator "**local_7c" * (pointer_declarator "*local_7c" * identifier)) ;) (declaration "char *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "char *local_74;" primitive_type (pointer_declarator "*local_74" * identifier) ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "undefined4 *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "undefined **local_5c;" type_identifier (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)) ;) (declaration "undefined *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "void *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "char *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "void *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "void *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "char *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (declaration "char *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_14 = 0x6ab4b;" (assignment_expression "uStack_14 = 0x6ab4b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_40 = (undefined *)0x0;" (assignment_expression "local_40 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_3c = (void *)0x0;" (assignment_expression "local_3c = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuVar11 = &PTR_DAT_000ba060;" (assignment_expression "ppuVar11 = &PTR_DAT_000ba060" identifier = (pointer_expression "&PTR_DAT_000ba060" & identifier)) ;) (expression_statement "pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);" (assignment_expression "pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060)" identifier = (cast_expression "(char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060)" identifier (argument_list "(param_1,param_2,&PTR_DAT_000ba060)" ( identifier , identifier , (pointer_expression "&PTR_DAT_000ba060" & identifier) ))))) ;) (expression_statement "local_80 = (undefined **)0x0;" (assignment_expression "local_80 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_7c = (undefined **)0x0;" (assignment_expression "local_7c = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_74 = (char *)0x0;" (assignment_expression "local_74 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_90 = -1;" (assignment_expression "local_90 = -1" identifier = number_literal) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0006abe0:\n  iVar2 = FUN_00078780();" statement_identifier : (expression_statement "iVar2 = FUN_00078780();" (assignment_expression "iVar2 = FUN_00078780()" identifier = (call_expression "FUN_00078780()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar2 != 0) goto LAB_0006abe9;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006abe9;" goto statement_identifier ;)) (labeled_statement "LAB_0006ac30:\n  iVar3 = FUN_00079110();" statement_identifier : (expression_statement "iVar3 = FUN_00079110();" (assignment_expression "iVar3 = FUN_00079110()" identifier = (call_expression "FUN_00079110()" identifier (argument_list "()" ( )))) ;)) (expression_statement "local_64 = (undefined4 *)FUN_000790f0();" (assignment_expression "local_64 = (undefined4 *)FUN_000790f0()" identifier = (cast_expression "(undefined4 *)FUN_000790f0()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000790f0()" identifier (argument_list "()" ( ))))) ;) (if_statement "if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }" if (parenthesized_expression "((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0))" ( (binary_expression "(local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)" (parenthesized_expression "(local_80 != (undefined **)0x0)" ( (binary_expression "local_80 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(local_7c != (undefined **)0x0)" ( (binary_expression "local_7c != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }" { (expression_statement "pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";" (assignment_expression "pcVar9 = "-srpvfile and -configfile cannot be specified together.\n"" identifier = (string_literal ""-srpvfile and -configfile cannot be specified together.\n"" " string_content escape_sequence ")) ;) (expression_statement "pcVar1 = (char *)ppuVar11;" (assignment_expression "pcVar1 = (char *)ppuVar11" identifier = (cast_expression "(char *)ppuVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0006aee4;" goto statement_identifier ;) })) (if_statement "if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }" if (parenthesized_expression "(local_90 == -1)" ( (binary_expression "local_90 == -1" identifier == number_literal) )) (compound_statement "{\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }" { (expression_statement "pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";" (assignment_expression "pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n"" identifier = (string_literal ""Exactly one of the options -add, -delete, -modify -list must be specified.\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0006b69b;" goto statement_identifier ;) })) (if_statement "if (local_90 - 6U < 3) {\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (undefined **)0x0;\n  }" if (parenthesized_expression "(local_90 - 6U < 3)" ( (binary_expression "local_90 - 6U < 3" (binary_expression "local_90 - 6U" identifier - number_literal) < number_literal) )) (compound_statement "{\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }" { (if_statement "if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }" { (expression_statement "pcVar9 = "Need at least one user.\n";" (assignment_expression "pcVar9 = "Need at least one user.\n"" identifier = (string_literal ""Need at least one user.\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0006b69b;" goto statement_identifier ;) })) (expression_statement "local_5c = (undefined **)*local_64;" (assignment_expression "local_5c = (undefined **)*local_64" identifier = (cast_expression "(undefined **)*local_64" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_64" * identifier))) ;) (expression_statement "local_64 = local_64 + 1;" (assignment_expression "local_64 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n    local_5c = (undefined **)0x0;\n  }" else (compound_statement "{\n    local_5c = (undefined **)0x0;\n  }" { (expression_statement "local_5c = (undefined **)0x0;" (assignment_expression "local_5c = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) (if_statement "if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }" if (parenthesized_expression "((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1))" ( (binary_expression "(local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)" (parenthesized_expression "(local_8c == 0 && local_84 == (CONF *)0x0)" ( (binary_expression "local_8c == 0 && local_84 == (CONF *)0x0" (binary_expression "local_8c == 0" identifier == number_literal) && (binary_expression "local_84 == (CONF *)0x0" identifier == (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) || (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) ))) )) (compound_statement "{\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }" { (expression_statement "pcVar1 = (char *)&local_40;" (assignment_expression "pcVar1 = (char *)&local_40" identifier = (cast_expression "(char *)&local_40" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_40" & identifier))) ;) (expression_statement "iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);" (assignment_expression "iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c)" identifier = (call_expression "FUN_00075b40(local_8c,local_84,pcVar1,&local_3c)" identifier (argument_list "(local_8c,local_84,pcVar1,&local_3c)" ( identifier , identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }" { (expression_statement "pcVar9 = "Error getting passwords\n";" (assignment_expression "pcVar9 = "Error getting passwords\n"" identifier = (string_literal ""Error getting passwords\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0006aee4;" goto statement_identifier ;) })) (if_statement "if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }" if (parenthesized_expression "(local_80 == (undefined **)0x0)" ( (binary_expression "local_80 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }" { (if_statement "if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }" if (parenthesized_expression "(local_7c == (undefined **)0x0)" ( (binary_expression "local_7c == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        local_7c = DAT_000c4598;\n      }" { (expression_statement "local_7c = DAT_000c4598;" (assignment_expression "local_7c = DAT_000c4598" identifier = identifier) ;) })) (if_statement "if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }" { (expression_statement "local_84 = (CONF *)FUN_00075fc0(local_7c);" (assignment_expression "local_84 = (CONF *)FUN_00075fc0(local_7c)" identifier = (cast_expression "(CONF *)FUN_00075fc0(local_7c)" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00075fc0(local_7c)" identifier (argument_list "(local_7c)" ( identifier ))))) ;) (if_statement "if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }" if (parenthesized_expression "(local_84 == (CONF *)0x0)" ( (binary_expression "local_84 == (CONF *)0x0" identifier == (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0006af12;" goto statement_identifier ;) })) }) (else_clause "else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }" else (compound_statement "{\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }" { (expression_statement "pcVar1 = (char *)local_7c;" (assignment_expression "pcVar1 = (char *)local_7c" identifier = (cast_expression "(char *)local_7c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);" (call_expression "BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c)" identifier (argument_list "(DAT_000c458c,"Using configuration from %s\n",local_7c)" ( identifier , (string_literal ""Using configuration from %s\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_84 = (CONF *)FUN_00075fc0(local_7c);" (assignment_expression "local_84 = (CONF *)FUN_00075fc0(local_7c)" identifier = (cast_expression "(CONF *)FUN_00075fc0(local_7c)" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00075fc0(local_7c)" identifier (argument_list "(local_7c)" ( identifier ))))) ;) (if_statement "if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }" if (parenthesized_expression "(local_84 == (CONF *)0x0)" ( (binary_expression "local_84 == (CONF *)0x0" identifier == (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) }))) (if_statement "if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }" if (parenthesized_expression "((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0))" ( (binary_expression "(DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)" (parenthesized_expression "(DAT_000c4598 == local_7c)" ( (binary_expression "DAT_000c4598 == local_7c" identifier == identifier) )) || (parenthesized_expression "(iVar3 = FUN_000770d0(local_84), iVar3 != 0)" ( (comma_expression "iVar3 = FUN_000770d0(local_84), iVar3 != 0" (assignment_expression "iVar3 = FUN_000770d0(local_84)" identifier = (call_expression "FUN_000770d0(local_84)" identifier (argument_list "(local_84)" ( identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }" { (if_statement "if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }" { (if_statement "if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }" { (expression_statement "pcVar9 = NCONF_get_string(local_84,"srp","default_srp");" (assignment_expression "pcVar9 = NCONF_get_string(local_84,"srp","default_srp")" identifier = (call_expression "NCONF_get_string(local_84,"srp","default_srp")" identifier (argument_list "(local_84,"srp","default_srp")" ( identifier , (string_literal ""srp"" " string_content ") , (string_literal ""default_srp"" " string_content ") )))) ;) (if_statement "if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }" { (expression_statement "FUN_00072430(local_84,"srp");" (call_expression "FUN_00072430(local_84,"srp")" identifier (argument_list "(local_84,"srp")" ( identifier , (string_literal ""srp"" " string_content ") ))) ;) (goto_statement "goto LAB_0006b733;" goto statement_identifier ;) })) }) (else_clause "else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }" else (compound_statement "{\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }" { (expression_statement "BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);" (call_expression "BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1)" identifier (argument_list "(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1)" ( identifier , (string_literal ""trying to read default_srp in srp\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pcVar9 = NCONF_get_string(local_84,"srp","default_srp");" (assignment_expression "pcVar9 = NCONF_get_string(local_84,"srp","default_srp")" identifier = (call_expression "NCONF_get_string(local_84,"srp","default_srp")" identifier (argument_list "(local_84,"srp","default_srp")" ( identifier , (string_literal ""srp"" " string_content ") , (string_literal ""default_srp"" " string_content ") )))) ;) (if_statement "if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }" { (expression_statement "FUN_00072430(local_84,"srp");" (call_expression "FUN_00072430(local_84,"srp")" identifier (argument_list "(local_84,"srp")" ( identifier , (string_literal ""srp"" " string_content ") ))) ;) (goto_statement "goto LAB_0006bd46;" goto statement_identifier ;) })) }))) (expression_statement "BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");" (call_expression "BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp")" identifier (argument_list "(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp")" ( identifier , (string_literal ""variable lookup failed for %s::%s\n"" " string_content escape_sequence ") , (string_literal ""srp"" " string_content ") , (string_literal ""default_srp"" " string_content ") ))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }" else (compound_statement "{\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }" { (expression_statement "FUN_00072430(local_84,"srp");" (call_expression "FUN_00072430(local_84,"srp")" identifier (argument_list "(local_84,"srp")" ( identifier , (string_literal ""srp"" " string_content ") ))) ;) (if_statement "if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }" { (labeled_statement "LAB_0006b733:\n            pcVar1 = "srpvfile";" statement_identifier : (expression_statement "pcVar1 = "srpvfile";" (assignment_expression "pcVar1 = "srpvfile"" identifier = (string_literal ""srpvfile"" " string_content ")) ;)) (expression_statement "local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");" (assignment_expression "local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile")" identifier = (cast_expression "(undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile")" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "NCONF_get_string(local_84,pcVar9,"srpvfile")" identifier (argument_list "(local_84,pcVar9,"srpvfile")" ( identifier , identifier , (string_literal ""srpvfile"" " string_content ") ))))) ;) (if_statement "if (local_80 != (undefined **)0x0) goto LAB_0006acce;" if (parenthesized_expression "(local_80 != (undefined **)0x0)" ( (binary_expression "local_80 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0006acce;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }" else (compound_statement "{\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }" { (labeled_statement "LAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);" (call_expression "BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9)" identifier (argument_list "(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9)" ( identifier , (string_literal ""trying to read srpvfile in section \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier ))) ;)) (expression_statement "local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");" (assignment_expression "local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile")" identifier = (cast_expression "(undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile")" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "NCONF_get_string(local_84,pcVar9,"srpvfile")" identifier (argument_list "(local_84,pcVar9,"srpvfile")" ( identifier , identifier , (string_literal ""srpvfile"" " string_content ") ))))) ;) (if_statement "if (local_80 != (undefined **)0x0) goto LAB_0006b095;" if (parenthesized_expression "(local_80 != (undefined **)0x0)" ( (binary_expression "local_80 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_0006b095;" goto statement_identifier ;)) }))) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");" (call_expression "BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile")" identifier (argument_list "(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile")" ( identifier , (string_literal ""variable lookup failed for %s::%s\n"" " string_content escape_sequence ") , identifier , (string_literal ""srpvfile"" " string_content ") ))) ;) }))) }) (else_clause "else {\n        iVar3 = 0;\n      }" else (compound_statement "{\n        iVar3 = 0;\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0006aef8;" goto statement_identifier ;) })) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }" { (labeled_statement "LAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);" statement_identifier : (expression_statement "iVar3 = FUN_00077180(local_80,0);" (assignment_expression "iVar3 = FUN_00077180(local_80,0)" identifier = (call_expression "FUN_00077180(local_80,0)" identifier (argument_list "(local_80,0)" ( identifier , number_literal )))) ;)) (if_statement "if (iVar3 == 0) goto LAB_0006af12;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006af12;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }" else (compound_statement "{\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }" { (labeled_statement "LAB_0006b095:\n      pcVar1 = (char *)local_80;" statement_identifier : (expression_statement "pcVar1 = (char *)local_80;" (assignment_expression "pcVar1 = (char *)local_80" identifier = (cast_expression "(char *)local_80" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);" (call_expression "BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80)" identifier (argument_list "(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80)" ( identifier , (string_literal ""Trying to read SRP verifier file \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier ))) ;) (expression_statement "iVar3 = FUN_00077180(local_80,0);" (assignment_expression "iVar3 = FUN_00077180(local_80,0)" identifier = (call_expression "FUN_00077180(local_80,0)" identifier (argument_list "(local_80,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0006b0c2;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006b0c2;" goto statement_identifier ;)) }))) (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" identifier = number_literal) ;) (expression_statement "local_8c = -1;" (assignment_expression "local_8c = -1" identifier = number_literal) ;) (for_statement "for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }" for ( (assignment_expression "iVar8 = 0" identifier = number_literal) ; (comma_expression "iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4" (assignment_expression "iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" identifier = (call_expression "OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) )))) , (binary_expression "iVar8 < iVar4" identifier < identifier)) ; (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ) (compound_statement "{\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }" { (expression_statement "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);" (assignment_expression "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8)" identifier = (cast_expression "(undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier ))))) ;) (if_statement "if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }" if (parenthesized_expression "(*(char *)*puVar5 == 'I')" ( (binary_expression "*(char *)*puVar5 == 'I'" (pointer_expression "*(char *)*puVar5" * (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) == (char_literal "'I'" ' character ')) )) (compound_statement "{\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }" { (if_statement "if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }" if (parenthesized_expression "(((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0))" ( (binary_expression "((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)" (parenthesized_expression "((iVar7 < 0) && (local_78 != (char *)0x0))" ( (binary_expression "(iVar7 < 0) && (local_78 != (char *)0x0)" (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) && (parenthesized_expression "(local_78 != (char *)0x0)" ( (binary_expression "local_78 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)" ( (comma_expression "iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0" (assignment_expression "iVar4 = strcmp(local_78,(char *)puVar5[3])" identifier = (call_expression "strcmp(local_78,(char *)puVar5[3])" identifier (argument_list "(local_78,(char *)puVar5[3])" ( identifier , (cast_expression "(char *)puVar5[3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[3]" identifier [ number_literal ])) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          iVar7 = iVar8;\n        }" { (expression_statement "iVar7 = iVar8;" (assignment_expression "iVar7 = iVar8" identifier = identifier) ;) })) (expression_statement "local_8c = iVar8;" (assignment_expression "local_8c = iVar8" identifier = identifier) ;) (if_statement "if (1 < local_94) {\n          FUN_0006a970();\n        }" if (parenthesized_expression "(1 < local_94)" ( (binary_expression "1 < local_94" number_literal < identifier) )) (compound_statement "{\n          FUN_0006a970();\n        }" { (expression_statement "FUN_0006a970();" (call_expression "FUN_0006a970()" identifier (argument_list "()" ( ))) ;) })) })) })) (if_statement "if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }" { (if_statement "if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }" { (expression_statement "local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier = (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier )))) ;) (goto_statement "goto LAB_0006b10d;" goto statement_identifier ;) })) (if_statement "if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }" if (parenthesized_expression "(((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0))" ( (binary_expression "((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)" (parenthesized_expression "((int)local_8c < 1)" ( (binary_expression "(int)local_8c < 1" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)" ( (comma_expression "iVar7 = SRP_get_default_gN(local_78), iVar7 != 0" (assignment_expression "iVar7 = SRP_get_default_gN(local_78)" identifier = (call_expression "SRP_get_default_gN(local_78)" identifier (argument_list "(local_78)" ( identifier )))) , (binary_expression "iVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }" { (labeled_statement "LAB_0006b105:\n        local_60 = 0;" statement_identifier : (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_0006b10d;" goto statement_identifier ;) })) (labeled_statement "LAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);" (call_expression "BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0)" identifier (argument_list "(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0)" ( identifier , (string_literal ""No g and N value for index \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier , number_literal ))) ;)) (goto_statement "goto LAB_0006aef8;" goto statement_identifier ;) })) (expression_statement "BIO_printf(DAT_000c458c,"Database initialised\n");" (call_expression "BIO_printf(DAT_000c458c,"Database initialised\n")" identifier (argument_list "(DAT_000c458c,"Database initialised\n")" ( identifier , (string_literal ""Database initialised\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }" { (if_statement "if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;" if (parenthesized_expression "((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))" ( (binary_expression "(0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0)" (parenthesized_expression "(0 < (int)local_8c)" ( (binary_expression "0 < (int)local_8c" number_literal < (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar7 = SRP_get_default_gN(local_78), iVar7 == 0)" ( (comma_expression "iVar7 = SRP_get_default_gN(local_78), iVar7 == 0" (assignment_expression "iVar7 = SRP_get_default_gN(local_78)" identifier = (call_expression "SRP_get_default_gN(local_78)" identifier (argument_list "(local_78)" ( identifier )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0006bb9e;" goto statement_identifier ;)) (expression_statement "BIO_printf(DAT_000c458c,"Database has no g N information.\n");" (call_expression "BIO_printf(DAT_000c458c,"Database has no g N information.\n")" identifier (argument_list "(DAT_000c458c,"Database has no g N information.\n")" ( identifier , (string_literal ""Database has no g N information.\n"" " string_content escape_sequence ") ))) ;) (if_statement "if (local_94 < 2) goto LAB_0006b105;" if (parenthesized_expression "(local_94 < 2)" ( (binary_expression "local_94 < 2" identifier < number_literal) )) (goto_statement "goto LAB_0006b105;" goto statement_identifier ;)) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }" else (compound_statement "{\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }" { (expression_statement "local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier = (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier )))) ;) (if_statement "if (local_94 == 1) goto LAB_0006b10d;" if (parenthesized_expression "(local_94 == 1)" ( (binary_expression "local_94 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0006b10d;" goto statement_identifier ;)) (expression_statement "FUN_0006a970();" (call_expression "FUN_0006a970()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "BIO_printf(DAT_000c458c,"Starting user processing\n");" (call_expression "BIO_printf(DAT_000c458c,"Starting user processing\n")" identifier (argument_list "(DAT_000c458c,"Starting user processing\n")" ( identifier , (string_literal ""Starting user processing\n"" " string_content escape_sequence ") ))) ;) (labeled_statement "LAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;" statement_identifier : (expression_statement "local_7c = (undefined **)0x8f9d4;" (assignment_expression "local_7c = (undefined **)0x8f9d4" identifier = (cast_expression "(undefined **)0x8f9d4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (while_statement "while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }" while (parenthesized_expression "((local_5c != (undefined **)0x0 || (local_90 == 9)))" ( (parenthesized_expression "(local_5c != (undefined **)0x0 || (local_90 == 9))" ( (binary_expression "local_5c != (undefined **)0x0 || (local_90 == 9)" (binary_expression "local_5c != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) || (parenthesized_expression "(local_90 == 9)" ( (binary_expression "local_90 == 9" identifier == number_literal) ))) )) )) (compound_statement "{\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }" { (if_statement "if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }" if (parenthesized_expression "((1 < local_94) && (local_5c != (undefined **)0x0))" ( (binary_expression "(1 < local_94) && (local_5c != (undefined **)0x0)" (parenthesized_expression "(1 < local_94)" ( (binary_expression "1 < local_94" number_literal < identifier) )) && (parenthesized_expression "(local_5c != (undefined **)0x0)" ( (binary_expression "local_5c != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }" { (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c)" identifier (argument_list "(DAT_000c458c,"Processing user \"%s\"\n",local_5c)" ( identifier , (string_literal ""Processing user \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier ))) ;) (expression_statement "iVar7 = FUN_0006a9f0();" (assignment_expression "iVar7 = FUN_0006a9f0()" identifier = (call_expression "FUN_0006a9f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }" { (labeled_statement "LAB_0006b199:\n          FUN_0006aac0();" statement_identifier : (expression_statement "FUN_0006aac0();" (call_expression "FUN_0006aac0()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_0006b1a4;" goto statement_identifier ;) })) (if_statement "if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }" if (parenthesized_expression "(local_90 == 9)" ( (binary_expression "local_90 == 9" identifier == number_literal) )) (compound_statement "{\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }" { (labeled_statement "LAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c)" identifier (argument_list "(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c)" ( identifier , (string_literal ""user \"%s\" does not exist, ignored. t\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;)) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0006b1bf;" goto statement_identifier ;) })) (if_statement "if (local_90 != 6) goto LAB_0006b283;" if (parenthesized_expression "(local_90 != 6)" ( (binary_expression "local_90 != 6" identifier != number_literal) )) (goto_statement "goto LAB_0006b283;" goto statement_identifier ;)) (labeled_statement "LAB_0006b2d2:\n        local_34 = (void *)0x0;" statement_identifier : (expression_statement "local_34 = (void *)0x0;" (assignment_expression "local_34 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "local_30 = (void *)0x0;" (assignment_expression "local_30 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_24 = (char *)0x0;" (assignment_expression "local_24 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "pcVar1 = local_78;" (assignment_expression "pcVar1 = local_78" identifier = identifier) ;) }) (else_clause "else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }" else (compound_statement "{\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }" { (expression_statement "uVar12 = *(undefined4 *)(local_60 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(local_60 + 4)" identifier = (pointer_expression "*(undefined4 *)(local_60 + 4)" * (cast_expression "(undefined4 *)(local_60 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + 4)" ( (binary_expression "local_60 + 4" identifier + number_literal) ))))) ;) (expression_statement "pcVar1 = *(char **)(local_60 + 8);" (assignment_expression "pcVar1 = *(char **)(local_60 + 8)" identifier = (pointer_expression "*(char **)(local_60 + 8)" * (cast_expression "(char **)(local_60 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_60 + 8)" ( (binary_expression "local_60 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);" (assignment_expression "pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94)" identifier = (cast_expression "(char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94)" identifier (argument_list "(pcVar1,uVar12,local_3c,local_94)" ( identifier , identifier , identifier , identifier ))))) ;) (if_statement "if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }" { (expression_statement "BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;" (call_expression "BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)" identifier (argument_list "(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)" ( identifier , (string_literal ""Cannot create srp verifier for user \"%s\", operation abandoned .\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }" else (compound_statement "{\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }" { (expression_statement "local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);" (assignment_expression "local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be)" identifier = (call_expression "CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be)" identifier (argument_list "((char *)local_5c,"../apps/srp.c",0x1be)" ( (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (expression_statement "local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);" (assignment_expression "local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf)" identifier = (call_expression "CRYPTO_strdup("v","../apps/srp.c",0x1bf)" identifier (argument_list "("v","../apps/srp.c",0x1bf)" ( (string_literal ""v"" " string_content ") , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (expression_statement "pcVar1 = (char *)0x1c0;" (assignment_expression "pcVar1 = (char *)0x1c0" identifier = (cast_expression "(char *)0x1c0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);" (assignment_expression "local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0)" identifier = (call_expression "CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0)" identifier (argument_list "(pcVar9,"../apps/srp.c",0x1c0)" ( identifier , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (if_statement "if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }" if (parenthesized_expression "((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0))))" ( (binary_expression "(((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))" (parenthesized_expression "(((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              )" ( (binary_expression "((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)" (parenthesized_expression "((local_28 != (char *)0x0) && (local_2c != (char *)0x0))" ( (binary_expression "(local_28 != (char *)0x0) && (local_2c != (char *)0x0)" (parenthesized_expression "(local_28 != (char *)0x0)" ( (binary_expression "local_28 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_2c != (char *)0x0)" ( (binary_expression "local_2c != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(local_38 != (char *)0x0)" ( (binary_expression "local_38 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))" ( (parenthesized_expression "(local_34 != (void *)0x0 && (local_30 != (void *)0x0))" ( (binary_expression "local_34 != (void *)0x0 && (local_30 != (void *)0x0)" (binary_expression "local_34 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(local_30 != (void *)0x0)" ( (binary_expression "local_30 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ))) )) (compound_statement "{\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }" { (if_statement "if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }" if (parenthesized_expression "(local_74 != (char *)0x0)" ( (binary_expression "local_74 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }" { (expression_statement "pcVar1 = (char *)0x1c8;" (assignment_expression "pcVar1 = (char *)0x1c8" identifier = (cast_expression "(char *)0x1c8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);" (assignment_expression "local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8)" identifier = (call_expression "CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8)" identifier (argument_list "(local_74,"../apps/srp.c",0x1c8)" ( identifier , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (if_statement "if (local_24 == (char *)0x0) goto LAB_0006b979;" if (parenthesized_expression "(local_24 == (char *)0x0)" ( (binary_expression "local_24 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006b979;" goto statement_identifier ;)) })) (expression_statement "value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");" (assignment_expression "value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers")" identifier = (cast_expression "(OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers")" ( (type_descriptor "OPENSSL_STRING *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00073440(0x1c,"row pointers")" identifier (argument_list "(0x1c,"row pointers")" ( number_literal , (string_literal ""row pointers"" " string_content ") ))))) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);" do (compound_statement "{\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            }" { (expression_statement "value[iVar7] = (&local_38)[iVar7];" (assignment_expression "value[iVar7] = (&local_38)[iVar7]" (subscript_expression "value[iVar7]" identifier [ identifier ]) = (subscript_expression "(&local_38)[iVar7]" (parenthesized_expression "(&local_38)" ( (pointer_expression "&local_38" & identifier) )) [ identifier ])) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar7 != 6)" ( (binary_expression "iVar7 != 6" identifier != number_literal) )) ;) (expression_statement "value[6] = (OPENSSL_STRING)0x0;" (assignment_expression "value[6] = (OPENSSL_STRING)0x0" (subscript_expression "value[6]" identifier [ number_literal ]) = (cast_expression "(OPENSSL_STRING)0x0" ( (type_descriptor "OPENSSL_STRING" type_identifier) ) number_literal)) ;) (expression_statement "iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);" (assignment_expression "iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value)" identifier = (call_expression "TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value)" identifier (argument_list "(*(TXT_DB **)(iVar3 + 4),value)" ( (pointer_expression "*(TXT_DB **)(iVar3 + 4)" * (cast_expression "(TXT_DB **)(iVar3 + 4)" ( (type_descriptor "TXT_DB **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar7 != 0) goto LAB_0006b430;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006b430;" goto statement_identifier ;)) (expression_statement "BIO_printf(DAT_000c458c,"failed to update srpvfile\n");" (call_expression "BIO_printf(DAT_000c458c,"failed to update srpvfile\n")" identifier (argument_list "(DAT_000c458c,"failed to update srpvfile\n")" ( identifier , (string_literal ""failed to update srpvfile\n"" " string_content escape_sequence ") ))) ;) (expression_statement "BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));" (call_expression "BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10))" identifier (argument_list "(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10))" ( identifier , (string_literal ""TXT_DB error number %ld\n"" " string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 0x10)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 0x10)" ( (binary_expression "*(int *)(iVar3 + 4) + 0x10" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) ))) ;) (expression_statement "CRYPTO_free(value);" (call_expression "CRYPTO_free(value)" identifier (argument_list "(value)" ( identifier ))) ;) })) (labeled_statement "LAB_0006b979:\n          CRYPTO_free(local_2c);" statement_identifier : (expression_statement "CRYPTO_free(local_2c);" (call_expression "CRYPTO_free(local_2c)" identifier (argument_list "(local_2c)" ( identifier ))) ;)) (expression_statement "CRYPTO_free(local_28);" (call_expression "CRYPTO_free(local_28)" identifier (argument_list "(local_28)" ( identifier ))) ;) (expression_statement "CRYPTO_free(local_24);" (call_expression "CRYPTO_free(local_24)" identifier (argument_list "(local_24)" ( identifier ))) ;) (expression_statement "CRYPTO_free(local_38);" (call_expression "CRYPTO_free(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) (expression_statement "CRYPTO_free(local_34);" (call_expression "CRYPTO_free(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) (expression_statement "CRYPTO_free(local_30);" (call_expression "CRYPTO_free(local_30)" identifier (argument_list "(local_30)" ( identifier ))) ;) }))) (goto_statement "goto LAB_0006b570;" goto statement_identifier ;) })) (expression_statement "iVar7 = FUN_0006a9f0();" (assignment_expression "iVar7 = FUN_0006a9f0()" identifier = (call_expression "FUN_0006a9f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }" { (if_statement "if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;" if (parenthesized_expression "((0 < local_94) || (local_90 == 9))" ( (binary_expression "(0 < local_94) || (local_90 == 9)" (parenthesized_expression "(0 < local_94)" ( (binary_expression "0 < local_94" number_literal < identifier) )) || (parenthesized_expression "(local_90 == 9)" ( (binary_expression "local_90 == 9" identifier == number_literal) ))) )) (goto_statement "goto LAB_0006b199;" goto statement_identifier ;)) (if_statement "if (local_90 == 6) goto LAB_0006b445;" if (parenthesized_expression "(local_90 == 6)" ( (binary_expression "local_90 == 6" identifier == number_literal) )) (goto_statement "goto LAB_0006b445;" goto statement_identifier ;)) (if_statement "if (local_90 != 8) goto LAB_0006b225;" if (parenthesized_expression "(local_90 != 8)" ( (binary_expression "local_90 != 8" identifier != number_literal) )) (goto_statement "goto LAB_0006b225;" goto statement_identifier ;)) (labeled_statement "LAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" statement_identifier : (expression_statement "piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier = (cast_expression "(int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier ))))) ;)) (if_statement "if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }" if (parenthesized_expression "(*(char *)*piVar6 == 'v')" ( (binary_expression "*(char *)*piVar6 == 'v'" (pointer_expression "*(char *)*piVar6" * (cast_expression "(char *)*piVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) == (char_literal "'v'" ' character ')) )) (compound_statement "{\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }" { (expression_statement "pcVar1 = "user \"%s\" already updated, operation ignored.\n";" (assignment_expression "pcVar1 = "user \"%s\" already updated, operation ignored.\n"" identifier = (string_literal ""user \"%s\" already updated, operation ignored.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (goto_statement "goto LAB_0006b29c;" goto statement_identifier ;) })) (if_statement "if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }" if (parenthesized_expression "(*(char *)*piVar6 == 'V')" ( (binary_expression "*(char *)*piVar6 == 'V'" (pointer_expression "*(char *)*piVar6" * (cast_expression "(char *)*piVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) == (char_literal "'V'" ' character ')) )) (compound_statement "{\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }" { (if_statement "if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }" { (expression_statement "BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c)" identifier (argument_list "(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c)" ( identifier , (string_literal ""Verifying password for user \"%s\"\n"" " string_content escape_sequence string_content escape_sequence escape_sequence ") , identifier ))) ;) })) (expression_statement "iVar8 = FUN_0006a9f0();" (assignment_expression "iVar8 = FUN_0006a9f0()" identifier = (call_expression "FUN_0006a9f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }" if (parenthesized_expression "((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))" ( (binary_expression "(iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0)" (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0)" ( (comma_expression "iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0" (assignment_expression "iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier = (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = piVar6[4];" (assignment_expression "iVar7 = piVar6[4]" identifier = (subscript_expression "piVar6[4]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }" else (compound_statement "{\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }" { (expression_statement "uVar12 = *(undefined4 *)(iVar7 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(iVar7 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(iVar7 + 8);" (assignment_expression "iVar7 = *(int *)(iVar7 + 8)" identifier = (pointer_expression "*(int *)(iVar7 + 8)" * (cast_expression "(int *)(iVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);" (assignment_expression "iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94)" identifier = (call_expression "FUN_0006a5f0(iVar7,uVar12,local_40,local_94)" identifier (argument_list "(iVar7,uVar12,local_40,local_94)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) goto LAB_0006b4b6;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006b4b6;" goto statement_identifier ;)) (expression_statement "pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";" (assignment_expression "pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n"" identifier = (string_literal ""Invalid password for user \"%s\", operation abandoned.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) }) (else_clause "else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }" else (compound_statement "{\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }" { (labeled_statement "LAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }" statement_identifier : (if_statement "if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }" { (expression_statement "BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c)" identifier (argument_list "(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c)" ( identifier , (string_literal ""Password for user \"%s\" ok.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) }))) (if_statement "if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }" if (parenthesized_expression "(local_60 == 0)" ( (binary_expression "local_60 == 0" identifier == number_literal) )) (compound_statement "{\n            local_8c = 0;\n            uVar12 = 0;\n          }" { (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }" else (compound_statement "{\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }" { (expression_statement "local_8c = *(undefined4 *)(local_60 + 4);" (assignment_expression "local_8c = *(undefined4 *)(local_60 + 4)" identifier = (pointer_expression "*(undefined4 *)(local_60 + 4)" * (cast_expression "(undefined4 *)(local_60 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + 4)" ( (binary_expression "local_60 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(local_60 + 8);" (assignment_expression "uVar12 = *(undefined4 *)(local_60 + 8)" identifier = (pointer_expression "*(undefined4 *)(local_60 + 8)" * (cast_expression "(undefined4 *)(local_60 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + 8)" ( (binary_expression "local_60 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);" (assignment_expression "pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94)" identifier = (cast_expression "(char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0006a7e0(uVar12,local_8c,local_3c,local_94)" identifier (argument_list "(uVar12,local_8c,local_3c,local_94)" ( identifier , identifier , identifier , identifier ))))) ;) (if_statement "if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }" { (expression_statement "*(undefined1 *)*piVar6 = 0x76;" (assignment_expression "*(undefined1 *)*piVar6 = 0x76" (pointer_expression "*(undefined1 *)*piVar6" * (cast_expression "(undefined1 *)*piVar6" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) = number_literal) ;) (expression_statement "pcVar1 = (char *)0x213;" (assignment_expression "pcVar1 = (char *)0x213" identifier = (cast_expression "(char *)0x213" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);" (assignment_expression "pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213)" identifier = (call_expression "CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213)" identifier (argument_list "(pcVar9,"../apps/srp.c",0x213)" ( identifier , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (expression_statement "piVar6[4] = (int)pcVar9;" (assignment_expression "piVar6[4] = (int)pcVar9" (subscript_expression "piVar6[4]" identifier [ number_literal ]) = (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }" if (parenthesized_expression "((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0))))" ( (binary_expression "(((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))" (parenthesized_expression "(((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0))" ( (binary_expression "((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)" (parenthesized_expression "((piVar6[3] != 0) && (pcVar9 != (char *)0x0))" ( (binary_expression "(piVar6[3] != 0) && (pcVar9 != (char *)0x0)" (parenthesized_expression "(piVar6[3] != 0)" ( (binary_expression "piVar6[3] != 0" (subscript_expression "piVar6[3]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(*piVar6 != 0)" ( (binary_expression "*piVar6 != 0" (pointer_expression "*piVar6" * identifier) != number_literal) ))) )) && (parenthesized_expression "((piVar6[1] != 0 && (piVar6[2] != 0)))" ( (parenthesized_expression "(piVar6[1] != 0 && (piVar6[2] != 0))" ( (binary_expression "piVar6[1] != 0 && (piVar6[2] != 0)" (binary_expression "piVar6[1] != 0" (subscript_expression "piVar6[1]" identifier [ number_literal ]) != number_literal) && (parenthesized_expression "(piVar6[2] != 0)" ( (binary_expression "piVar6[2] != 0" (subscript_expression "piVar6[2]" identifier [ number_literal ]) != number_literal) ))) )) ))) )) (compound_statement "{\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }" { (if_statement "if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }" if (parenthesized_expression "(local_74 != (char *)0x0)" ( (binary_expression "local_74 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }" { (expression_statement "pcVar1 = (char *)0x21b;" (assignment_expression "pcVar1 = (char *)0x21b" identifier = (cast_expression "(char *)0x21b" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);" (assignment_expression "pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b)" identifier = (call_expression "CRYPTO_strdup(local_74,"../apps/srp.c",0x21b)" identifier (argument_list "(local_74,"../apps/srp.c",0x21b)" ( identifier , (string_literal ""../apps/srp.c"" " string_content ") , number_literal )))) ;) (expression_statement "piVar6[5] = (int)pcVar9;" (assignment_expression "piVar6[5] = (int)pcVar9" (subscript_expression "piVar6[5]" identifier [ number_literal ]) = (cast_expression "(int)pcVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pcVar9 == (char *)0x0) goto LAB_0006b570;" if (parenthesized_expression "(pcVar9 == (char *)0x0)" ( (binary_expression "pcVar9 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006b570;" goto statement_identifier ;)) })) (labeled_statement "LAB_0006b430:\n              local_8c = 1;" statement_identifier : (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0006b1bf;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b570:\n            local_8c = 1;" statement_identifier : (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0006b578;" goto statement_identifier ;) })) (expression_statement "pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";" (assignment_expression "pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n"" identifier = (string_literal ""Cannot create srp verifier for user \"%s\", operation abandoned.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "local_64 = extraout_ECX;" (assignment_expression "local_64 = extraout_ECX" identifier = identifier) ;) }))) (expression_statement "BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);" (call_expression "BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64)" identifier (argument_list "(DAT_000c458c,pcVar1,local_5c,local_64)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (if_statement "if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n          local_8c = 1;\n          goto LAB_0006b596;\n        }" { (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0006b596;" goto statement_identifier ;) })) (goto_statement "goto LAB_0006af12;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" statement_identifier : (if_statement "if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(local_90 == 9)" ( (binary_expression "local_90 == 9" identifier == number_literal) )) (compound_statement "{\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }" { (if_statement "if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;" if (parenthesized_expression "(local_5c == (undefined **)0x0)" ( (binary_expression "local_5c == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }" { (expression_statement "BIO_printf(DAT_000c458c,"List all users\n");" (call_expression "BIO_printf(DAT_000c458c,"List all users\n")" identifier (argument_list "(DAT_000c458c,"List all users\n")" ( identifier , (string_literal ""List all users\n"" " string_content escape_sequence ") ))) ;) (for_statement "for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }" for ( (assignment_expression "iVar7 = 0" identifier = number_literal) ; (comma_expression "iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8" (assignment_expression "iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" identifier = (call_expression "OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) )))) , (binary_expression "iVar7 < iVar8" identifier < identifier)) ; (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ) (compound_statement "{\n            FUN_0006aac0();\n          }" { (expression_statement "FUN_0006aac0();" (call_expression "FUN_0006aac0()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else if (iVar7 < 0) goto LAB_0006b5bd;" else (if_statement "if (iVar7 < 0) goto LAB_0006b5bd;" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0006b5bd;" goto statement_identifier ;)))) }) (else_clause "else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" else (if_statement "if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(local_90 == 6)" ( (binary_expression "local_90 == 6" identifier == number_literal) )) (compound_statement "{\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }" { (if_statement "if (iVar7 < 0) goto LAB_0006b2d2;" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0006b2d2;" goto statement_identifier ;)) (labeled_statement "LAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" statement_identifier : (expression_statement "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier = (cast_expression "(undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier ))))) ;)) (expression_statement "BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c)" identifier (argument_list "(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c)" ( identifier , (string_literal ""user \"%s\" reactivated.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;) (expression_statement "*(undefined1 *)*puVar5 = 0x56;" (assignment_expression "*(undefined1 *)*puVar5 = 0x56" (pointer_expression "*(undefined1 *)*puVar5" * (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) = number_literal) ;) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" else (compound_statement "{\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" { (labeled_statement "LAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }" statement_identifier : (if_statement "if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }" if (parenthesized_expression "(local_90 == 8)" ( (binary_expression "local_90 == 8" identifier == number_literal) )) (compound_statement "{\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }" { (if_statement "if (-1 < iVar7) goto LAB_0006b487;" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (goto_statement "goto LAB_0006b487;" goto statement_identifier ;)) (expression_statement "pcVar1 = "user \"%s\" does not exist, operation ignored.\n";" (assignment_expression "pcVar1 = "user \"%s\" does not exist, operation ignored.\n"" identifier = (string_literal ""user \"%s\" does not exist, operation ignored.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (labeled_statement "LAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,pcVar1,local_5c);" (call_expression "BIO_printf(DAT_000c458c,pcVar1,local_5c)" identifier (argument_list "(DAT_000c458c,pcVar1,local_5c)" ( identifier , identifier , identifier ))) ;)) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }" else (compound_statement "{\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }" { (labeled_statement "LAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }" statement_identifier : (if_statement "if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }" if (parenthesized_expression "(local_90 == 7)" ( (binary_expression "local_90 == 7" identifier == number_literal) )) (compound_statement "{\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }" { (if_statement "if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }" { (expression_statement "BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;" (call_expression "BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)" identifier (argument_list "(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)" ( identifier , (string_literal ""user \"%s\" does not exist, operation ignored. t\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }" else (compound_statement "{\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }" { (expression_statement "puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier = (cast_expression "(undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier ))))) ;) (expression_statement "BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c)" identifier (argument_list "(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c)" ( identifier , (string_literal ""user \"%s\" revoked. t\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;) (expression_statement "*(undefined1 *)*puVar5 = 0x52;" (assignment_expression "*(undefined1 *)*puVar5 = 0x52" (pointer_expression "*(undefined1 *)*puVar5" * (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) = number_literal) ;) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" identifier = (cast_expression "(char *)local_5c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) }))) })))) })))))) (labeled_statement "LAB_0006b1bf:\n      local_5c = (undefined **)*local_64;" statement_identifier : (expression_statement "local_5c = (undefined **)*local_64;" (assignment_expression "local_5c = (undefined **)*local_64" identifier = (cast_expression "(undefined **)*local_64" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*local_64" * identifier))) ;)) (expression_statement "local_64 = local_64 + 1;" (assignment_expression "local_64 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) (if_statement "if (local_5c == (undefined **)0x0) break;" if (parenthesized_expression "(local_5c == (undefined **)0x0)" ( (binary_expression "local_5c == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (break_statement "break;" break ;)) })) (if_statement "if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }" { (expression_statement "BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);" (call_expression "BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1)" identifier (argument_list "(DAT_000c458c,"User procession done.\n",pcVar1)" ( identifier , (string_literal ""User procession done.\n"" " string_content escape_sequence ") , identifier ))) ;) })) (if_statement "if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }" if (parenthesized_expression "(local_8c != 0)" ( (binary_expression "local_8c != 0" identifier != number_literal) )) (compound_statement "{\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }" { (for_statement "for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }" for ( ; (comma_expression "iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7" (assignment_expression "iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" identifier = (call_expression "OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) )))) , (binary_expression "iVar2 < iVar7" identifier < identifier)) ; (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ) (compound_statement "{\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }" { (expression_statement "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);" (assignment_expression "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2)" identifier = (cast_expression "(undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2)" identifier (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2)" ( (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" * (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" ( (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) + number_literal) )))) , identifier ))))) ;) (if_statement "if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }" if (parenthesized_expression "((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0))" ( (binary_expression "(*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)" (parenthesized_expression "(*(char *)*puVar5 == 'v')" ( (binary_expression "*(char *)*puVar5 == 'v'" (pointer_expression "*(char *)*puVar5" * (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) == (char_literal "'v'" ' character ')) )) && (parenthesized_expression "(*(char *)*puVar5 = 'V', local_94 != 0)" ( (comma_expression "*(char *)*puVar5 = 'V', local_94 != 0" (assignment_expression "*(char *)*puVar5 = 'V'" (pointer_expression "*(char *)*puVar5" * (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) = (char_literal "'V'" ' character ')) , (binary_expression "local_94 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          FUN_0006aac0();\n        }" { (expression_statement "FUN_0006aac0();" (call_expression "FUN_0006aac0()" identifier (argument_list "()" ( ))) ;) })) })) (if_statement "if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }" { (expression_statement "BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");" (call_expression "BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n")" identifier (argument_list "(DAT_000c458c,"Trying to update srpvfile.\n")" ( identifier , (string_literal ""Trying to update srpvfile.\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);" (assignment_expression "iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3)" identifier = (call_expression "FUN_00074980(local_80,&DAT_0007e978,iVar3)" identifier (argument_list "(local_80,&DAT_0007e978,iVar3)" ( identifier , (pointer_expression "&DAT_0007e978" & identifier) , identifier )))) ;) (if_statement "if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }" { (expression_statement "BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");" (call_expression "BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n")" identifier (argument_list "(DAT_000c458c,"Temporary srpvfile created.\n")" ( identifier , (string_literal ""Temporary srpvfile created.\n"" " string_content escape_sequence ") ))) ;) (expression_statement "iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");" (assignment_expression "iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old")" identifier = (call_expression "FUN_00074b50(local_80,&DAT_0007e978,"old")" identifier (argument_list "(local_80,&DAT_0007e978,"old")" ( identifier , (pointer_expression "&DAT_0007e978" & identifier) , (string_literal ""old"" " string_content ") )))) ;) (if_statement "if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }" { (expression_statement "BIO_printf(DAT_000c458c,"srpvfile updated.\n");" (call_expression "BIO_printf(DAT_000c458c,"srpvfile updated.\n")" identifier (argument_list "(DAT_000c458c,"srpvfile updated.\n")" ( identifier , (string_literal ""srpvfile updated.\n"" " string_content escape_sequence ") ))) ;) (goto_statement "goto LAB_0006b7f8;" goto statement_identifier ;) })) })) (if_statement "if (local_68 != 0) goto LAB_0006b596;" if (parenthesized_expression "(local_68 != 0)" ( (binary_expression "local_68 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006b596;" goto statement_identifier ;)) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) (expression_statement "iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);" (assignment_expression "iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3)" identifier = (call_expression "FUN_00074980(local_80,&DAT_0007e978,iVar3)" identifier (argument_list "(local_80,&DAT_0007e978,iVar3)" ( identifier , (pointer_expression "&DAT_0007e978" & identifier) , identifier )))) ;) (if_statement "if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;" if (parenthesized_expression "((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))" ( (binary_expression "(iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0)" ( (comma_expression "iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0" (assignment_expression "iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old")" identifier = (call_expression "FUN_00074b50(local_80,&DAT_0007e978,"old")" identifier (argument_list "(local_80,&DAT_0007e978,"old")" ( identifier , (pointer_expression "&DAT_0007e978" & identifier) , (string_literal ""old"" " string_content ") )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0006b7f8;" goto statement_identifier ;)) (expression_statement "CRYPTO_free(local_40);" (call_expression "CRYPTO_free(local_40)" identifier (argument_list "(local_40)" ( identifier ))) ;) (expression_statement "uVar12 = 0x25d;" (assignment_expression "uVar12 = 0x25d" identifier = number_literal) ;) (expression_statement "CRYPTO_free(local_3c);" (call_expression "CRYPTO_free(local_3c)" identifier (argument_list "(local_3c)" ( identifier ))) ;) (goto_statement "goto LAB_0006b057;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);" statement_identifier : (expression_statement "local_8c = (uint)(local_68 != 0);" (assignment_expression "local_8c = (uint)(local_68 != 0)" identifier = (call_expression "(uint)(local_68 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_68 != 0)" ( (binary_expression "local_68 != 0" identifier != number_literal) )))) ;)) (labeled_statement "LAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }" statement_identifier : (if_statement "if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }" if (parenthesized_expression "(local_68 != 0)" ( (binary_expression "local_68 != 0" identifier != number_literal) )) (compound_statement "{\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }" { (if_statement "if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }" { (labeled_statement "LAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);" (call_expression "BIO_printf(DAT_000c458c,"User errors %d.\n",local_68)" identifier (argument_list "(DAT_000c458c,"User errors %d.\n",local_68)" ( identifier , (string_literal ""User errors %d.\n"" " string_content escape_sequence ") , identifier ))) ;)) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) (goto_statement "goto LAB_0006b01a;" goto statement_identifier ;) }))) (labeled_statement "LAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;" statement_identifier : (if_statement "if (local_94 == 0) goto LAB_0006b01a;" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006b01a;" goto statement_identifier ;))) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) (expression_statement "pcVar9 = "-passin, -passout arguments only valid with one user.\n";" (assignment_expression "pcVar9 = "-passin, -passout arguments only valid with one user.\n"" identifier = (string_literal ""-passin, -passout arguments only valid with one user.\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_0006b69b:\n  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,pcVar9,ppuVar11);" (call_expression "BIO_printf(DAT_000c458c,pcVar9,ppuVar11)" identifier (argument_list "(DAT_000c458c,pcVar9,ppuVar11)" ( identifier , identifier , identifier ))) ;)) (labeled_statement "LAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";" statement_identifier : (expression_statement "pcVar9 = "%s: Use -help for summary.\n";" (assignment_expression "pcVar9 = "%s: Use -help for summary.\n"" identifier = (string_literal ""%s: Use -help for summary.\n"" " string_content escape_sequence ")) ;)) (labeled_statement "LAB_0006aee4:\n  iVar3 = 0;" statement_identifier : (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;)) (expression_statement "BIO_printf(DAT_000c458c,pcVar9,pcVar1);" (call_expression "BIO_printf(DAT_000c458c,pcVar9,pcVar1)" identifier (argument_list "(DAT_000c458c,pcVar9,pcVar1)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }" statement_identifier : (if_statement "if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }" { (labeled_statement "LAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;" statement_identifier : (expression_statement "local_7c = (undefined **)0x8f9d4;" (assignment_expression "local_7c = (undefined **)0x8f9d4" identifier = (cast_expression "(undefined **)0x8f9d4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "CRYPTO_free(local_40);" (call_expression "CRYPTO_free(local_40)" identifier (argument_list "(local_40)" ( identifier ))) ;) (expression_statement "uVar12 = 0x25d;" (assignment_expression "uVar12 = 0x25d" identifier = number_literal) ;) (expression_statement "CRYPTO_free(local_3c);" (call_expression "CRYPTO_free(local_3c)" identifier (argument_list "(local_3c)" ( identifier ))) ;) }) (else_clause "else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }" else (compound_statement "{\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }" { (labeled_statement "LAB_0006b0c2:\n    local_8c = 1;" statement_identifier : (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;)) (labeled_statement "LAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);" statement_identifier : (expression_statement "BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);" (call_expression "BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c)" identifier (argument_list "(DAT_000c458c,"SRP terminating with code %d.\n",local_8c)" ( identifier , (string_literal ""SRP terminating with code %d.\n"" " string_content escape_sequence ") , identifier ))) ;)) (labeled_statement "LAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;" statement_identifier : (expression_statement "local_7c = (undefined **)0x8f9d4;" (assignment_expression "local_7c = (undefined **)0x8f9d4" identifier = (cast_expression "(undefined **)0x8f9d4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "CRYPTO_free(local_40);" (call_expression "CRYPTO_free(local_40)" identifier (argument_list "(local_40)" ( identifier ))) ;) (expression_statement "uVar12 = 0x25d;" (assignment_expression "uVar12 = 0x25d" identifier = number_literal) ;) (expression_statement "CRYPTO_free(local_3c);" (call_expression "CRYPTO_free(local_3c)" identifier (argument_list "(local_3c)" ( identifier ))) ;) (if_statement "if (local_8c == 0) goto LAB_0006ae29;" if (parenthesized_expression "(local_8c == 0)" ( (binary_expression "local_8c == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006ae29;" goto statement_identifier ;)) })))) (labeled_statement "LAB_0006b057:\n  ERR_print_errors(DAT_000c458c);" statement_identifier : (expression_statement "ERR_print_errors(DAT_000c458c);" (call_expression "ERR_print_errors(DAT_000c458c)" identifier (argument_list "(DAT_000c458c)" ( identifier ))) ;)) (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;) (labeled_statement "LAB_0006ae29:\n  NCONF_free(local_84);" statement_identifier : (expression_statement "NCONF_free(local_84);" (call_expression "NCONF_free(local_84)" identifier (argument_list "(local_84)" ( identifier ))) ;)) (expression_statement "FUN_00074e20(iVar3,local_7c,uVar12);" (call_expression "FUN_00074e20(iVar3,local_7c,uVar12)" identifier (argument_list "(iVar3,local_7c,uVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_00074230(local_88);" (call_expression "FUN_00074230(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007d010();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_0007d010();\n  }" { (expression_statement "FUN_0007d010();" (call_expression "FUN_0007d010()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return local_8c;" return identifier ;) (labeled_statement "LAB_0006abe9:\n  while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }" statement_identifier : (while_statement "while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }" while (parenthesized_expression "(iVar2 < 10)" ( (binary_expression "iVar2 < 10" identifier < number_literal) )) (compound_statement "{\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }" { (if_statement "if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }" if (parenthesized_expression "(5 < iVar2)" ( (binary_expression "5 < iVar2" number_literal < identifier) )) (compound_statement "{\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }" { (expression_statement "bVar10 = local_90 == -1;" (assignment_expression "bVar10 = local_90 == -1" identifier = (binary_expression "local_90 == -1" identifier == number_literal)) ;) (expression_statement "local_90 = iVar2;" (assignment_expression "local_90 = iVar2" identifier = identifier) ;) (if_statement "if (bVar10) goto LAB_0006abe0;" if (parenthesized_expression "(bVar10)" ( identifier )) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;)) (expression_statement "pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";" (assignment_expression "pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n"" identifier = (string_literal ""%s: Only one of -add/-delete/-modify/-list\n"" " string_content escape_sequence ")) ;) (expression_statement "ppuVar11 = (undefined **)pcVar1;" (assignment_expression "ppuVar11 = (undefined **)pcVar1" identifier = (cast_expression "(undefined **)pcVar1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (goto_statement "goto LAB_0006b69b;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }" if (parenthesized_expression "(iVar2 == 2)" ( (binary_expression "iVar2 == 2" identifier == number_literal) )) (compound_statement "{\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }" { (expression_statement "local_94 = local_94 + 1;" (assignment_expression "local_94 = local_94 + 1" identifier = (binary_expression "local_94 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;) })) (if_statement "if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }" if (parenthesized_expression "(iVar2 < 3)" ( (binary_expression "iVar2 < 3" identifier < number_literal) )) (compound_statement "{\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }" { (if_statement "if (iVar2 == -1) goto LAB_0006aed6;" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0006aed6;" goto statement_identifier ;)) (if_statement "if (iVar2 != 1) goto LAB_0006abe0;" if (parenthesized_expression "(iVar2 != 1)" ( (binary_expression "iVar2 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;)) (expression_statement "FUN_00079140(&PTR_DAT_000ba060);" (call_expression "FUN_00079140(&PTR_DAT_000ba060)" identifier (argument_list "(&PTR_DAT_000ba060)" ( (pointer_expression "&PTR_DAT_000ba060" & identifier) ))) ;) (if_statement "if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }" { (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006b002;" goto statement_identifier ;) })) (expression_statement "local_7c = (undefined **)0x8f9d4;" (assignment_expression "local_7c = (undefined **)0x8f9d4" identifier = (cast_expression "(undefined **)0x8f9d4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "CRYPTO_free(local_40);" (call_expression "CRYPTO_free(local_40)" identifier (argument_list "(local_40)" ( identifier ))) ;) (expression_statement "uVar12 = 0x25d;" (assignment_expression "uVar12 = 0x25d" identifier = number_literal) ;) (expression_statement "CRYPTO_free(local_3c);" (call_expression "CRYPTO_free(local_3c)" identifier (argument_list "(local_3c)" ( identifier ))) ;) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006ae29;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }" if (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) (compound_statement "{\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }" { (expression_statement "pcVar9 = (char *)FUN_00078b30();" (assignment_expression "pcVar9 = (char *)FUN_00078b30()" identifier = (cast_expression "(char *)FUN_00078b30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;) })) (if_statement "if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }" if (parenthesized_expression "(4 < iVar2)" ( (binary_expression "4 < iVar2" number_literal < identifier) )) (compound_statement "{\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }" { (expression_statement "local_80 = (undefined **)FUN_00078b30();" (assignment_expression "local_80 = (undefined **)FUN_00078b30()" identifier = (cast_expression "(undefined **)FUN_00078b30()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;) })) (expression_statement "local_7c = (undefined **)FUN_00078b30();" (assignment_expression "local_7c = (undefined **)FUN_00078b30()" identifier = (cast_expression "(undefined **)FUN_00078b30()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar2 = FUN_00078780();" (assignment_expression "iVar2 = FUN_00078780()" identifier = (call_expression "FUN_00078780()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0006ac30;" goto statement_identifier ;) })) }))) (if_statement "if (iVar2 == 0xd) {\n    local_84 = (CONF *)FUN_00078b30();\n  }\n  else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" if (parenthesized_expression "(iVar2 == 0xd)" ( (binary_expression "iVar2 == 0xd" identifier == number_literal) )) (compound_statement "{\n    local_84 = (CONF *)FUN_00078b30();\n  }" { (expression_statement "local_84 = (CONF *)FUN_00078b30();" (assignment_expression "local_84 = (CONF *)FUN_00078b30()" identifier = (cast_expression "(CONF *)FUN_00078b30()" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" else (if_statement "if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" if (parenthesized_expression "(iVar2 < 0xe)" ( (binary_expression "iVar2 < 0xe" identifier < number_literal) )) (compound_statement "{\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }" { (if_statement "if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }" if (parenthesized_expression "(iVar2 == 0xb)" ( (binary_expression "iVar2 == 0xb" identifier == number_literal) )) (compound_statement "{\n      local_74 = (char *)FUN_00078b30();\n    }" { (expression_statement "local_74 = (char *)FUN_00078b30();" (assignment_expression "local_74 = (char *)FUN_00078b30()" identifier = (cast_expression "(char *)FUN_00078b30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }" else (if_statement "if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }" if (parenthesized_expression "(iVar2 < 0xc)" ( (binary_expression "iVar2 < 0xc" identifier < number_literal) )) (compound_statement "{\n      local_78 = (char *)FUN_00078b30();\n    }" { (expression_statement "local_78 = (char *)FUN_00078b30();" (assignment_expression "local_78 = (char *)FUN_00078b30()" identifier = (cast_expression "(char *)FUN_00078b30()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00078b30()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else {\n      local_8c = FUN_00078b30();\n    }" else (compound_statement "{\n      local_8c = FUN_00078b30();\n    }" { (expression_statement "local_8c = FUN_00078b30();" (assignment_expression "local_8c = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) }))))) }) (else_clause "else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" else (if_statement "if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" if (parenthesized_expression "(iVar2 == 0xe)" ( (binary_expression "iVar2 == 0xe" identifier == number_literal) )) (compound_statement "{\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }" { (expression_statement "uVar12 = FUN_00078b30();" (assignment_expression "uVar12 = FUN_00078b30()" identifier = (call_expression "FUN_00078b30()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_88 = FUN_00074050(uVar12,0);" (assignment_expression "local_88 = FUN_00074050(uVar12,0)" identifier = (call_expression "FUN_00074050(uVar12,0)" identifier (argument_list "(uVar12,0)" ( identifier , number_literal )))) ;) }) (else_clause "else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" else (if_statement "if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" if (parenthesized_expression "((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0))" ( (binary_expression "(iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)" (parenthesized_expression "(iVar2 - 0x5ddU < 2)" ( (binary_expression "iVar2 - 0x5ddU < 2" (binary_expression "iVar2 - 0x5ddU" identifier - number_literal) < number_literal) )) && (parenthesized_expression "(iVar2 = FUN_00072560(iVar2), iVar2 == 0)" ( (comma_expression "iVar2 = FUN_00072560(iVar2), iVar2 == 0" (assignment_expression "iVar2 = FUN_00072560(iVar2)" identifier = (call_expression "FUN_00072560(iVar2)" identifier (argument_list "(iVar2)" ( identifier )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" { (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" identifier = number_literal) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" identifier = (cast_expression "(CONF *)0x0" ( (type_descriptor "CONF *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006aeb8;" goto statement_identifier ;) })))))))) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") ))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (string_literal " string_content ") ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT , (string_literal " string_content ") ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )))) , (binary_expression IDENT < IDENT)) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , IDENT , LIT ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , IDENT ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence escape_sequence ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )))) , (binary_expression IDENT < IDENT)) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , IDENT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }))) }))) })))) })))))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (break_statement break ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (for_statement for ( ; (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )))) , (binary_expression IDENT < IDENT)) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) == (char_literal ' character ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = (char_literal ' character ')) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (string_literal " string_content ") )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return IDENT ;) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })))))))) (goto_statement goto statement_identifier ;) })))
(function_definition "uint FUN_0006ab40(undefined4 param_1,undefined4 param_2)\n\n{\n  char *pcVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  OPENSSL_STRING *value;\n  int *piVar6;\n  undefined4 *extraout_ECX;\n  int iVar7;\n  int iVar8;\n  char *pcVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int local_94;\n  int local_90;\n  uint local_8c;\n  undefined4 local_88;\n  CONF *local_84;\n  undefined **local_80;\n  undefined **local_7c;\n  char *local_78;\n  char *local_74;\n  int local_68;\n  undefined4 *local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined *local_40;\n  void *local_3c;\n  char *local_38;\n  void *local_34;\n  void *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  pcVar9 = (char *)0x0;\n  uStack_14 = 0x6ab4b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = (undefined *)0x0;\n  local_3c = (void *)0x0;\n  ppuVar11 = &PTR_DAT_000ba060;\n  pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);\n  local_80 = (undefined **)0x0;\n  local_7c = (undefined **)0x0;\n  local_74 = (char *)0x0;\n  local_78 = (char *)0x0;\n  local_84 = (CONF *)0x0;\n  local_8c = 0;\n  local_90 = -1;\n  local_94 = 0;\n  local_88 = 0;\nLAB_0006abe0:\n  iVar2 = FUN_00078780();\n  if (iVar2 != 0) goto LAB_0006abe9;\nLAB_0006ac30:\n  iVar3 = FUN_00079110();\n  local_64 = (undefined4 *)FUN_000790f0();\n  if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }\n  if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }\n  if (local_90 - 6U < 3) {\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (undefined **)0x0;\n  }\n  if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }\n  pcVar9 = "-passin, -passout arguments only valid with one user.\n";\nLAB_0006b69b:\n  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);\nLAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";\nLAB_0006aee4:\n  iVar3 = 0;\n  BIO_printf(DAT_000c458c,pcVar9,pcVar1);\n  local_84 = (CONF *)0x0;\nLAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }\nLAB_0006b057:\n  ERR_print_errors(DAT_000c458c);\n  local_8c = 1;\nLAB_0006ae29:\n  NCONF_free(local_84);\n  FUN_00074e20(iVar3,local_7c,uVar12);\n  FUN_00074230(local_88);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007d010();\n  }\n  return local_8c;\nLAB_0006abe9:\n  while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }\n  if (iVar2 == 0xd) {\n    local_84 = (CONF *)FUN_00078b30();\n  }\n  else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }\n  goto LAB_0006abe0;\n}" (type_identifier "uint") (function_declarator "FUN_0006ab40(undefined4 param_1,undefined4 param_2)" (identifier "FUN_0006ab40") (parameter_list "(undefined4 param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  char *pcVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  OPENSSL_STRING *value;\n  int *piVar6;\n  undefined4 *extraout_ECX;\n  int iVar7;\n  int iVar8;\n  char *pcVar9;\n  int in_GS_OFFSET;\n  bool bVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int local_94;\n  int local_90;\n  uint local_8c;\n  undefined4 local_88;\n  CONF *local_84;\n  undefined **local_80;\n  undefined **local_7c;\n  char *local_78;\n  char *local_74;\n  int local_68;\n  undefined4 *local_64;\n  int local_60;\n  undefined **local_5c;\n  undefined *local_40;\n  void *local_3c;\n  char *local_38;\n  void *local_34;\n  void *local_30;\n  char *local_2c;\n  char *local_28;\n  char *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  pcVar9 = (char *)0x0;\n  uStack_14 = 0x6ab4b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_40 = (undefined *)0x0;\n  local_3c = (void *)0x0;\n  ppuVar11 = &PTR_DAT_000ba060;\n  pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);\n  local_80 = (undefined **)0x0;\n  local_7c = (undefined **)0x0;\n  local_74 = (char *)0x0;\n  local_78 = (char *)0x0;\n  local_84 = (CONF *)0x0;\n  local_8c = 0;\n  local_90 = -1;\n  local_94 = 0;\n  local_88 = 0;\nLAB_0006abe0:\n  iVar2 = FUN_00078780();\n  if (iVar2 != 0) goto LAB_0006abe9;\nLAB_0006ac30:\n  iVar3 = FUN_00079110();\n  local_64 = (undefined4 *)FUN_000790f0();\n  if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }\n  if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }\n  if (local_90 - 6U < 3) {\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (undefined **)0x0;\n  }\n  if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }\n  pcVar9 = "-passin, -passout arguments only valid with one user.\n";\nLAB_0006b69b:\n  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);\nLAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";\nLAB_0006aee4:\n  iVar3 = 0;\n  BIO_printf(DAT_000c458c,pcVar9,pcVar1);\n  local_84 = (CONF *)0x0;\nLAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }\nLAB_0006b057:\n  ERR_print_errors(DAT_000c458c);\n  local_8c = 1;\nLAB_0006ae29:\n  NCONF_free(local_84);\n  FUN_00074e20(iVar3,local_7c,uVar12);\n  FUN_00074230(local_88);\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007d010();\n  }\n  return local_8c;\nLAB_0006abe9:\n  while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }\n  if (iVar2 == 0xd) {\n    local_84 = (CONF *)FUN_00078b30();\n  }\n  else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }\n  goto LAB_0006abe0;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "OPENSSL_STRING *value;" (type_identifier "OPENSSL_STRING") (pointer_declarator "*value" (* "*") (identifier "value")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "undefined4 *extraout_ECX;" (type_identifier "undefined4") (pointer_declarator "*extraout_ECX" (* "*") (identifier "extraout_ECX")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar10;" (primitive_type "bool") (identifier "bVar10") (; ";")) (declaration "undefined **ppuVar11;" (type_identifier "undefined") (pointer_declarator "**ppuVar11" (* "*") (pointer_declarator "*ppuVar11" (* "*") (identifier "ppuVar11"))) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "int local_94;" (primitive_type "int") (identifier "local_94") (; ";")) (declaration "int local_90;" (primitive_type "int") (identifier "local_90") (; ";")) (declaration "uint local_8c;" (type_identifier "uint") (identifier "local_8c") (; ";")) (declaration "undefined4 local_88;" (type_identifier "undefined4") (identifier "local_88") (; ";")) (declaration "CONF *local_84;" (type_identifier "CONF") (pointer_declarator "*local_84" (* "*") (identifier "local_84")) (; ";")) (declaration "undefined **local_80;" (type_identifier "undefined") (pointer_declarator "**local_80" (* "*") (pointer_declarator "*local_80" (* "*") (identifier "local_80"))) (; ";")) (declaration "undefined **local_7c;" (type_identifier "undefined") (pointer_declarator "**local_7c" (* "*") (pointer_declarator "*local_7c" (* "*") (identifier "local_7c"))) (; ";")) (declaration "char *local_78;" (primitive_type "char") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "char *local_74;" (primitive_type "char") (pointer_declarator "*local_74" (* "*") (identifier "local_74")) (; ";")) (declaration "int local_68;" (primitive_type "int") (identifier "local_68") (; ";")) (declaration "undefined4 *local_64;" (type_identifier "undefined4") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "int local_60;" (primitive_type "int") (identifier "local_60") (; ";")) (declaration "undefined **local_5c;" (type_identifier "undefined") (pointer_declarator "**local_5c" (* "*") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c"))) (; ";")) (declaration "undefined *local_40;" (type_identifier "undefined") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "void *local_3c;" (primitive_type "void") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "char *local_38;" (primitive_type "char") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "void *local_34;" (primitive_type "void") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "void *local_30;" (primitive_type "void") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "char *local_2c;" (primitive_type "char") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "char *local_28;" (primitive_type "char") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "char *local_24;" (primitive_type "char") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" (identifier "pcVar9") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uStack_14 = 0x6ab4b;" (assignment_expression "uStack_14 = 0x6ab4b" (identifier "uStack_14") (= "=") (number_literal "0x6ab4b")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_40 = (undefined *)0x0;" (assignment_expression "local_40 = (undefined *)0x0" (identifier "local_40") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_3c = (void *)0x0;" (assignment_expression "local_3c = (void *)0x0" (identifier "local_3c") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppuVar11 = &PTR_DAT_000ba060;" (assignment_expression "ppuVar11 = &PTR_DAT_000ba060" (identifier "ppuVar11") (= "=") (pointer_expression "&PTR_DAT_000ba060" (& "&") (identifier "PTR_DAT_000ba060"))) (; ";")) (expression_statement "pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);" (assignment_expression "pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060)" (identifier "pcVar1") (= "=") (cast_expression "(char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060)" (identifier "FUN_00077e50") (argument_list "(param_1,param_2,&PTR_DAT_000ba060)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (pointer_expression "&PTR_DAT_000ba060" (& "&") (identifier "PTR_DAT_000ba060")) () ")"))))) (; ";")) (expression_statement "local_80 = (undefined **)0x0;" (assignment_expression "local_80 = (undefined **)0x0" (identifier "local_80") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_7c = (undefined **)0x0;" (assignment_expression "local_7c = (undefined **)0x0" (identifier "local_7c") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_74 = (char *)0x0;" (assignment_expression "local_74 = (char *)0x0" (identifier "local_74") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" (identifier "local_78") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" (identifier "local_84") (= "=") (cast_expression "(CONF *)0x0" (( "(") (type_descriptor "CONF *" (type_identifier "CONF") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = -1;" (assignment_expression "local_90 = -1" (identifier "local_90") (= "=") (number_literal "-1")) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0006abe0:\n  iVar2 = FUN_00078780();" (statement_identifier "LAB_0006abe0") (: ":") (expression_statement "iVar2 = FUN_00078780();" (assignment_expression "iVar2 = FUN_00078780()" (identifier "iVar2") (= "=") (call_expression "FUN_00078780()" (identifier "FUN_00078780") (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (iVar2 != 0) goto LAB_0006abe9;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006abe9;" (goto "goto") (statement_identifier "LAB_0006abe9") (; ";"))) (labeled_statement "LAB_0006ac30:\n  iVar3 = FUN_00079110();" (statement_identifier "LAB_0006ac30") (: ":") (expression_statement "iVar3 = FUN_00079110();" (assignment_expression "iVar3 = FUN_00079110()" (identifier "iVar3") (= "=") (call_expression "FUN_00079110()" (identifier "FUN_00079110") (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "local_64 = (undefined4 *)FUN_000790f0();" (assignment_expression "local_64 = (undefined4 *)FUN_000790f0()" (identifier "local_64") (= "=") (cast_expression "(undefined4 *)FUN_000790f0()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000790f0()" (identifier "FUN_000790f0") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }" (if "if") (parenthesized_expression "((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0))" (( "(") (binary_expression "(local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)" (parenthesized_expression "(local_80 != (undefined **)0x0)" (( "(") (binary_expression "local_80 != (undefined **)0x0" (identifier "local_80") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_7c != (undefined **)0x0)" (( "(") (binary_expression "local_7c != (undefined **)0x0" (identifier "local_7c") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";\n    pcVar1 = (char *)ppuVar11;\n    goto LAB_0006aee4;\n  }" ({ "{") (expression_statement "pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";" (assignment_expression "pcVar9 = "-srpvfile and -configfile cannot be specified together.\n"" (identifier "pcVar9") (= "=") (string_literal ""-srpvfile and -configfile cannot be specified together.\n"" (" """) (string_content "-srpvfile and -configfile cannot be specified together.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "pcVar1 = (char *)ppuVar11;" (assignment_expression "pcVar1 = (char *)ppuVar11" (identifier "pcVar1") (= "=") (cast_expression "(char *)ppuVar11" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar11"))) (; ";")) (goto_statement "goto LAB_0006aee4;" (goto "goto") (statement_identifier "LAB_0006aee4") (; ";")) (} "}"))) (if_statement "if (local_90 == -1) {\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }" (if "if") (parenthesized_expression "(local_90 == -1)" (( "(") (binary_expression "local_90 == -1" (identifier "local_90") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";\n    goto LAB_0006b69b;\n  }" ({ "{") (expression_statement "pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";" (assignment_expression "pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n"" (identifier "pcVar9") (= "=") (string_literal ""Exactly one of the options -add, -delete, -modify -list must be specified.\n"" (" """) (string_content "Exactly one of the options -add, -delete, -modify -list must be specified.") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_0006b69b;" (goto "goto") (statement_identifier "LAB_0006b69b") (; ";")) (} "}"))) (if_statement "if (local_90 - 6U < 3) {\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }\n  else {\n    local_5c = (undefined **)0x0;\n  }" (if "if") (parenthesized_expression "(local_90 - 6U < 3)" (( "(") (binary_expression "local_90 - 6U < 3" (binary_expression "local_90 - 6U" (identifier "local_90") (- "-") (number_literal "6U")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n    if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }\n    local_5c = (undefined **)*local_64;\n    local_64 = local_64 + 1;\n  }" ({ "{") (if_statement "if (iVar3 == 0) {\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar9 = "Need at least one user.\n";\n      goto LAB_0006b69b;\n    }" ({ "{") (expression_statement "pcVar9 = "Need at least one user.\n";" (assignment_expression "pcVar9 = "Need at least one user.\n"" (identifier "pcVar9") (= "=") (string_literal ""Need at least one user.\n"" (" """) (string_content "Need at least one user.") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_0006b69b;" (goto "goto") (statement_identifier "LAB_0006b69b") (; ";")) (} "}"))) (expression_statement "local_5c = (undefined **)*local_64;" (assignment_expression "local_5c = (undefined **)*local_64" (identifier "local_5c") (= "=") (cast_expression "(undefined **)*local_64" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*local_64" (* "*") (identifier "local_64")))) (; ";")) (expression_statement "local_64 = local_64 + 1;" (assignment_expression "local_64 = local_64 + 1" (identifier "local_64") (= "=") (binary_expression "local_64 + 1" (identifier "local_64") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n    local_5c = (undefined **)0x0;\n  }" (else "else") (compound_statement "{\n    local_5c = (undefined **)0x0;\n  }" ({ "{") (expression_statement "local_5c = (undefined **)0x0;" (assignment_expression "local_5c = (undefined **)0x0" (identifier "local_5c") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (if_statement "if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }" (if "if") (parenthesized_expression "((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1))" (( "(") (binary_expression "(local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)" (parenthesized_expression "(local_8c == 0 && local_84 == (CONF *)0x0)" (( "(") (binary_expression "local_8c == 0 && local_84 == (CONF *)0x0" (binary_expression "local_8c == 0" (identifier "local_8c") (== "==") (number_literal "0")) (&& "&&") (binary_expression "local_84 == (CONF *)0x0" (identifier "local_84") (== "==") (cast_expression "(CONF *)0x0" (( "(") (type_descriptor "CONF *" (type_identifier "CONF") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (|| "||") (parenthesized_expression "(iVar3 == 1)" (( "(") (binary_expression "iVar3 == 1" (identifier "iVar3") (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n    pcVar1 = (char *)&local_40;\n    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);\n    if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }\n    if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }\n    local_84 = (CONF *)0x0;\n    if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }\n    iVar7 = -1;\n    local_8c = -1;\n    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }\n    if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }\n    BIO_printf(DAT_000c458c,"Database initialised\n");\n    if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }\n    BIO_printf(DAT_000c458c,"Starting user processing\n");\nLAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;\n    local_8c = 0;\n    local_68 = 0;\n    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }\n    if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }\n    if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }\nLAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);\nLAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }\nLAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;\n    goto LAB_0006b002;\n  }" ({ "{") (expression_statement "pcVar1 = (char *)&local_40;" (assignment_expression "pcVar1 = (char *)&local_40" (identifier "pcVar1") (= "=") (cast_expression "(char *)&local_40" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_40" (& "&") (identifier "local_40")))) (; ";")) (expression_statement "iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);" (assignment_expression "iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c)" (identifier "iVar3") (= "=") (call_expression "FUN_00075b40(local_8c,local_84,pcVar1,&local_3c)" (identifier "FUN_00075b40") (argument_list "(local_8c,local_84,pcVar1,&local_3c)" (( "(") (identifier "local_8c") (, ",") (identifier "local_84") (, ",") (identifier "pcVar1") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar9 = "Error getting passwords\n";\n      goto LAB_0006aee4;\n    }" ({ "{") (expression_statement "pcVar9 = "Error getting passwords\n";" (assignment_expression "pcVar9 = "Error getting passwords\n"" (identifier "pcVar9") (= "=") (string_literal ""Error getting passwords\n"" (" """) (string_content "Error getting passwords") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_0006aee4;" (goto "goto") (statement_identifier "LAB_0006aee4") (; ";")) (} "}"))) (if_statement "if (local_80 == (undefined **)0x0) {\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }" (if "if") (parenthesized_expression "(local_80 == (undefined **)0x0)" (( "(") (binary_expression "local_80 == (undefined **)0x0" (identifier "local_80") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }\n      if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }\n      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }\n      goto LAB_0006aef8;\n    }" ({ "{") (if_statement "if (local_7c == (undefined **)0x0) {\n        local_7c = DAT_000c4598;\n      }" (if "if") (parenthesized_expression "(local_7c == (undefined **)0x0)" (( "(") (binary_expression "local_7c == (undefined **)0x0" (identifier "local_7c") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_7c = DAT_000c4598;\n      }" ({ "{") (expression_statement "local_7c = DAT_000c4598;" (assignment_expression "local_7c = DAT_000c4598" (identifier "local_7c") (= "=") (identifier "DAT_000c4598")) (; ";")) (} "}"))) (if_statement "if (local_94 == 0) {\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }\n      else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }" (if "if") (parenthesized_expression "(local_94 == 0)" (( "(") (binary_expression "local_94 == 0" (identifier "local_94") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }\n      }" ({ "{") (expression_statement "local_84 = (CONF *)FUN_00075fc0(local_7c);" (assignment_expression "local_84 = (CONF *)FUN_00075fc0(local_7c)" (identifier "local_84") (= "=") (cast_expression "(CONF *)FUN_00075fc0(local_7c)" (( "(") (type_descriptor "CONF *" (type_identifier "CONF") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00075fc0(local_7c)" (identifier "FUN_00075fc0") (argument_list "(local_7c)" (( "(") (identifier "local_7c") () ")"))))) (; ";")) (if_statement "if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }" (if "if") (parenthesized_expression "(local_84 == (CONF *)0x0)" (( "(") (binary_expression "local_84 == (CONF *)0x0" (identifier "local_84") (== "==") (cast_expression "(CONF *)0x0" (( "(") (type_descriptor "CONF *" (type_identifier "CONF") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iVar3 = 0;\n          goto LAB_0006af12;\n        }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0006af12;" (goto "goto") (statement_identifier "LAB_0006af12") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }" (else "else") (compound_statement "{\n        pcVar1 = (char *)local_7c;\n        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);\n        local_84 = (CONF *)FUN_00075fc0(local_7c);\n        if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }\n      }" ({ "{") (expression_statement "pcVar1 = (char *)local_7c;" (assignment_expression "pcVar1 = (char *)local_7c" (identifier "pcVar1") (= "=") (cast_expression "(char *)local_7c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_7c"))) (; ";")) (expression_statement "BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);" (call_expression "BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"Using configuration from %s\n",local_7c)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""Using configuration from %s\n"" (" """) (string_content "Using configuration from %s") (escape_sequence "\n") (" """)) (, ",") (identifier "local_7c") () ")"))) (; ";")) (expression_statement "local_84 = (CONF *)FUN_00075fc0(local_7c);" (assignment_expression "local_84 = (CONF *)FUN_00075fc0(local_7c)" (identifier "local_84") (= "=") (cast_expression "(CONF *)FUN_00075fc0(local_7c)" (( "(") (type_descriptor "CONF *" (type_identifier "CONF") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00075fc0(local_7c)" (identifier "FUN_00075fc0") (argument_list "(local_7c)" (( "(") (identifier "local_7c") () ")"))))) (; ";")) (if_statement "if (local_84 == (CONF *)0x0) {\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }" (if "if") (parenthesized_expression "(local_84 == (CONF *)0x0)" (( "(") (binary_expression "local_84 == (CONF *)0x0" (identifier "local_84") (== "==") (cast_expression "(CONF *)0x0" (( "(") (type_descriptor "CONF *" (type_identifier "CONF") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iVar3 = 0;\n          local_8c = 1;\n          goto LAB_0006b002;\n        }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" (identifier "local_8c") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0006b002;" (goto "goto") (statement_identifier "LAB_0006b002") (; ";")) (} "}"))) (} "}")))) (if_statement "if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }\n      else {\n        iVar3 = 0;\n      }" (if "if") (parenthesized_expression "((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0))" (( "(") (binary_expression "(DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)" (parenthesized_expression "(DAT_000c4598 == local_7c)" (( "(") (binary_expression "DAT_000c4598 == local_7c" (identifier "DAT_000c4598") (== "==") (identifier "local_7c")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = FUN_000770d0(local_84), iVar3 != 0)" (( "(") (comma_expression "iVar3 = FUN_000770d0(local_84), iVar3 != 0" (assignment_expression "iVar3 = FUN_000770d0(local_84)" (identifier "iVar3") (= "=") (call_expression "FUN_000770d0(local_84)" (identifier "FUN_000770d0") (argument_list "(local_84)" (( "(") (identifier "local_84") () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }\n      }" ({ "{") (if_statement "if (pcVar9 == (char *)0x0) {\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }\n        else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }" (if "if") (parenthesized_expression "(pcVar9 == (char *)0x0)" (( "(") (binary_expression "pcVar9 == (char *)0x0" (identifier "pcVar9") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");\n          iVar3 = 0;\n        }" ({ "{") (if_statement "if (local_94 == 0) {\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }\n          else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }" (if "if") (parenthesized_expression "(local_94 == 0)" (( "(") (binary_expression "local_94 == 0" (identifier "local_94") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }\n          }" ({ "{") (expression_statement "pcVar9 = NCONF_get_string(local_84,"srp","default_srp");" (assignment_expression "pcVar9 = NCONF_get_string(local_84,"srp","default_srp")" (identifier "pcVar9") (= "=") (call_expression "NCONF_get_string(local_84,"srp","default_srp")" (identifier "NCONF_get_string") (argument_list "(local_84,"srp","default_srp")" (( "(") (identifier "local_84") (, ",") (string_literal ""srp"" (" """) (string_content "srp") (" """)) (, ",") (string_literal ""default_srp"" (" """) (string_content "default_srp") (" """)) () ")")))) (; ";")) (if_statement "if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }" (if "if") (parenthesized_expression "(pcVar9 != (char *)0x0)" (( "(") (binary_expression "pcVar9 != (char *)0x0" (identifier "pcVar9") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006b733;\n            }" ({ "{") (expression_statement "FUN_00072430(local_84,"srp");" (call_expression "FUN_00072430(local_84,"srp")" (identifier "FUN_00072430") (argument_list "(local_84,"srp")" (( "(") (identifier "local_84") (, ",") (string_literal ""srp"" (" """) (string_content "srp") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_0006b733;" (goto "goto") (statement_identifier "LAB_0006b733") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }" (else "else") (compound_statement "{\n            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);\n            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");\n            if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }\n          }" ({ "{") (expression_statement "BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);" (call_expression "BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""trying to read default_srp in srp\n"" (" """) (string_content "trying to read default_srp in srp") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar1") () ")"))) (; ";")) (expression_statement "pcVar9 = NCONF_get_string(local_84,"srp","default_srp");" (assignment_expression "pcVar9 = NCONF_get_string(local_84,"srp","default_srp")" (identifier "pcVar9") (= "=") (call_expression "NCONF_get_string(local_84,"srp","default_srp")" (identifier "NCONF_get_string") (argument_list "(local_84,"srp","default_srp")" (( "(") (identifier "local_84") (, ",") (string_literal ""srp"" (" """) (string_content "srp") (" """)) (, ",") (string_literal ""default_srp"" (" """) (string_content "default_srp") (" """)) () ")")))) (; ";")) (if_statement "if (pcVar9 != (char *)0x0) {\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }" (if "if") (parenthesized_expression "(pcVar9 != (char *)0x0)" (( "(") (binary_expression "pcVar9 != (char *)0x0" (identifier "pcVar9") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              FUN_00072430(local_84,"srp");\n              goto LAB_0006bd46;\n            }" ({ "{") (expression_statement "FUN_00072430(local_84,"srp");" (call_expression "FUN_00072430(local_84,"srp")" (identifier "FUN_00072430") (argument_list "(local_84,"srp")" (( "(") (identifier "local_84") (, ",") (string_literal ""srp"" (" """) (string_content "srp") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_0006bd46;" (goto "goto") (statement_identifier "LAB_0006bd46") (; ";")) (} "}"))) (} "}")))) (expression_statement "BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");" (call_expression "BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp")" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp")" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""variable lookup failed for %s::%s\n"" (" """) (string_content "variable lookup failed for %s::%s") (escape_sequence "\n") (" """)) (, ",") (string_literal ""srp"" (" """) (string_content "srp") (" """)) (, ",") (string_literal ""default_srp"" (" """) (string_content "default_srp") (" """)) () ")"))) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }" (else "else") (compound_statement "{\n          FUN_00072430(local_84,"srp");\n          if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }\n          iVar3 = 0;\n          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");\n        }" ({ "{") (expression_statement "FUN_00072430(local_84,"srp");" (call_expression "FUN_00072430(local_84,"srp")" (identifier "FUN_00072430") (argument_list "(local_84,"srp")" (( "(") (identifier "local_84") (, ",") (string_literal ""srp"" (" """) (string_content "srp") (" """)) () ")"))) (; ";")) (if_statement "if (local_94 == 0) {\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }\n          else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }" (if "if") (parenthesized_expression "(local_94 == 0)" (( "(") (binary_expression "local_94 == 0" (identifier "local_94") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0006b733:\n            pcVar1 = "srpvfile";\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006acce;\n          }" ({ "{") (labeled_statement "LAB_0006b733:\n            pcVar1 = "srpvfile";" (statement_identifier "LAB_0006b733") (: ":") (expression_statement "pcVar1 = "srpvfile";" (assignment_expression "pcVar1 = "srpvfile"" (identifier "pcVar1") (= "=") (string_literal ""srpvfile"" (" """) (string_content "srpvfile") (" """))) (; ";"))) (expression_statement "local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");" (assignment_expression "local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile")" (identifier "local_80") (= "=") (cast_expression "(undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile")" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "NCONF_get_string(local_84,pcVar9,"srpvfile")" (identifier "NCONF_get_string") (argument_list "(local_84,pcVar9,"srpvfile")" (( "(") (identifier "local_84") (, ",") (identifier "pcVar9") (, ",") (string_literal ""srpvfile"" (" """) (string_content "srpvfile") (" """)) () ")"))))) (; ";")) (if_statement "if (local_80 != (undefined **)0x0) goto LAB_0006acce;" (if "if") (parenthesized_expression "(local_80 != (undefined **)0x0)" (( "(") (binary_expression "local_80 != (undefined **)0x0" (identifier "local_80") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0006acce;" (goto "goto") (statement_identifier "LAB_0006acce") (; ";"))) (} "}")) (else_clause "else {\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }" (else "else") (compound_statement "{\nLAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);\n            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");\n            if (local_80 != (undefined **)0x0) goto LAB_0006b095;\n          }" ({ "{") (labeled_statement "LAB_0006bd46:\n            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);" (statement_identifier "LAB_0006bd46") (: ":") (expression_statement "BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);" (call_expression "BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""trying to read srpvfile in section \"%s\"\n"" (" """) (string_content "trying to read srpvfile in section ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar9") () ")"))) (; ";"))) (expression_statement "local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");" (assignment_expression "local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile")" (identifier "local_80") (= "=") (cast_expression "(undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile")" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "NCONF_get_string(local_84,pcVar9,"srpvfile")" (identifier "NCONF_get_string") (argument_list "(local_84,pcVar9,"srpvfile")" (( "(") (identifier "local_84") (, ",") (identifier "pcVar9") (, ",") (string_literal ""srpvfile"" (" """) (string_content "srpvfile") (" """)) () ")"))))) (; ";")) (if_statement "if (local_80 != (undefined **)0x0) goto LAB_0006b095;" (if "if") (parenthesized_expression "(local_80 != (undefined **)0x0)" (( "(") (binary_expression "local_80 != (undefined **)0x0" (identifier "local_80") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0006b095;" (goto "goto") (statement_identifier "LAB_0006b095") (; ";"))) (} "}")))) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");" (call_expression "BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile")" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile")" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""variable lookup failed for %s::%s\n"" (" """) (string_content "variable lookup failed for %s::%s") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar9") (, ",") (string_literal ""srpvfile"" (" """) (string_content "srpvfile") (" """)) () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        iVar3 = 0;\n      }" (else "else") (compound_statement "{\n        iVar3 = 0;\n      }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (} "}")))) (goto_statement "goto LAB_0006aef8;" (goto "goto") (statement_identifier "LAB_0006aef8") (; ";")) (} "}"))) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" (identifier "local_84") (= "=") (cast_expression "(CONF *)0x0" (( "(") (type_descriptor "CONF *" (type_identifier "CONF") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (local_94 == 0) {\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }\n    else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }" (if "if") (parenthesized_expression "(local_94 == 0)" (( "(") (binary_expression "local_94 == 0" (identifier "local_94") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006af12;\n    }" ({ "{") (labeled_statement "LAB_0006acce:\n      iVar3 = FUN_00077180(local_80,0);" (statement_identifier "LAB_0006acce") (: ":") (expression_statement "iVar3 = FUN_00077180(local_80,0);" (assignment_expression "iVar3 = FUN_00077180(local_80,0)" (identifier "iVar3") (= "=") (call_expression "FUN_00077180(local_80,0)" (identifier "FUN_00077180") (argument_list "(local_80,0)" (( "(") (identifier "local_80") (, ",") (number_literal "0") () ")")))) (; ";"))) (if_statement "if (iVar3 == 0) goto LAB_0006af12;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006af12;" (goto "goto") (statement_identifier "LAB_0006af12") (; ";"))) (} "}")) (else_clause "else {\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }" (else "else") (compound_statement "{\nLAB_0006b095:\n      pcVar1 = (char *)local_80;\n      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);\n      iVar3 = FUN_00077180(local_80,0);\n      if (iVar3 == 0) goto LAB_0006b0c2;\n    }" ({ "{") (labeled_statement "LAB_0006b095:\n      pcVar1 = (char *)local_80;" (statement_identifier "LAB_0006b095") (: ":") (expression_statement "pcVar1 = (char *)local_80;" (assignment_expression "pcVar1 = (char *)local_80" (identifier "pcVar1") (= "=") (cast_expression "(char *)local_80" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_80"))) (; ";"))) (expression_statement "BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);" (call_expression "BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""Trying to read SRP verifier file \"%s\"\n"" (" """) (string_content "Trying to read SRP verifier file ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (escape_sequence "\n") (" """)) (, ",") (identifier "local_80") () ")"))) (; ";")) (expression_statement "iVar3 = FUN_00077180(local_80,0);" (assignment_expression "iVar3 = FUN_00077180(local_80,0)" (identifier "iVar3") (= "=") (call_expression "FUN_00077180(local_80,0)" (identifier "FUN_00077180") (argument_list "(local_80,0)" (( "(") (identifier "local_80") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_0006b0c2;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006b0c2;" (goto "goto") (statement_identifier "LAB_0006b0c2") (; ";"))) (} "}")))) (expression_statement "iVar7 = -1;" (assignment_expression "iVar7 = -1" (identifier "iVar7") (= "=") (number_literal "-1")) (; ";")) (expression_statement "local_8c = -1;" (assignment_expression "local_8c = -1" (identifier "local_8c") (= "=") (number_literal "-1")) (; ";")) (for_statement "for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;\n        iVar8 = iVar8 + 1) {\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }" (for "for") (( "(") (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";") (comma_expression "iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4" (assignment_expression "iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" (identifier "iVar4") (= "=") (call_expression "OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" (identifier "OPENSSL_sk_num") (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) () ")")))) (, ",") (binary_expression "iVar8 < iVar4" (identifier "iVar8") (< "<") (identifier "iVar4"))) (; ";") (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);\n      if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }\n    }" ({ "{") (expression_statement "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);" (assignment_expression "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8)" (identifier "OPENSSL_sk_value") (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8)" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "iVar8") () ")"))))) (; ";")) (if_statement "if (*(char *)*puVar5 == 'I') {\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }" (if "if") (parenthesized_expression "(*(char *)*puVar5 == 'I')" (( "(") (binary_expression "*(char *)*puVar5 == 'I'" (pointer_expression "*(char *)*puVar5" (* "*") (cast_expression "(char *)*puVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (== "==") (char_literal "'I'" (' "'") (character "I") (' "'"))) () ")")) (compound_statement "{\n        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }\n        local_8c = iVar8;\n        if (1 < local_94) {\n          FUN_0006a970();\n        }\n      }" ({ "{") (if_statement "if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {\n          iVar7 = iVar8;\n        }" (if "if") (parenthesized_expression "(((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0))" (( "(") (binary_expression "((iVar7 < 0) && (local_78 != (char *)0x0)) &&\n           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)" (parenthesized_expression "((iVar7 < 0) && (local_78 != (char *)0x0))" (( "(") (binary_expression "(iVar7 < 0) && (local_78 != (char *)0x0)" (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_78 != (char *)0x0)" (( "(") (binary_expression "local_78 != (char *)0x0" (identifier "local_78") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)" (( "(") (comma_expression "iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0" (assignment_expression "iVar4 = strcmp(local_78,(char *)puVar5[3])" (identifier "iVar4") (= "=") (call_expression "strcmp(local_78,(char *)puVar5[3])" (identifier "strcmp") (argument_list "(local_78,(char *)puVar5[3])" (( "(") (identifier "local_78") (, ",") (cast_expression "(char *)puVar5[3]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]"))) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          iVar7 = iVar8;\n        }" ({ "{") (expression_statement "iVar7 = iVar8;" (assignment_expression "iVar7 = iVar8" (identifier "iVar7") (= "=") (identifier "iVar8")) (; ";")) (} "}"))) (expression_statement "local_8c = iVar8;" (assignment_expression "local_8c = iVar8" (identifier "local_8c") (= "=") (identifier "iVar8")) (; ";")) (if_statement "if (1 < local_94) {\n          FUN_0006a970();\n        }" (if "if") (parenthesized_expression "(1 < local_94)" (( "(") (binary_expression "1 < local_94" (number_literal "1") (< "<") (identifier "local_94")) () ")")) (compound_statement "{\n          FUN_0006a970();\n        }" ({ "{") (expression_statement "FUN_0006a970();" (call_expression "FUN_0006a970()" (identifier "FUN_0006a970") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (if_statement "if (local_94 == 0) {\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }" (if "if") (parenthesized_expression "(local_94 == 0)" (( "(") (binary_expression "local_94 == 0" (identifier "local_94") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }\n      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }\nLAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);\n      goto LAB_0006aef8;\n    }" ({ "{") (if_statement "if (-1 < iVar7) {\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }" (if "if") (parenthesized_expression "(-1 < iVar7)" (( "(") (binary_expression "-1 < iVar7" (number_literal "-1") (< "<") (identifier "iVar7")) () ")")) (compound_statement "{\n        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        goto LAB_0006b10d;\n      }" ({ "{") (expression_statement "local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (identifier "local_60") (= "=") (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (identifier "OPENSSL_sk_value") (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "iVar7") () ")")))) (; ";")) (goto_statement "goto LAB_0006b10d;" (goto "goto") (statement_identifier "LAB_0006b10d") (; ";")) (} "}"))) (if_statement "if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }" (if "if") (parenthesized_expression "(((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0))" (( "(") (binary_expression "((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)" (parenthesized_expression "((int)local_8c < 1)" (( "(") (binary_expression "(int)local_8c < 1" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (< "<") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)" (( "(") (comma_expression "iVar7 = SRP_get_default_gN(local_78), iVar7 != 0" (assignment_expression "iVar7 = SRP_get_default_gN(local_78)" (identifier "iVar7") (= "=") (call_expression "SRP_get_default_gN(local_78)" (identifier "SRP_get_default_gN") (argument_list "(local_78)" (( "(") (identifier "local_78") () ")")))) (, ",") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_0006b105:\n        local_60 = 0;\n        goto LAB_0006b10d;\n      }" ({ "{") (labeled_statement "LAB_0006b105:\n        local_60 = 0;" (statement_identifier "LAB_0006b105") (: ":") (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";"))) (goto_statement "goto LAB_0006b10d;" (goto "goto") (statement_identifier "LAB_0006b10d") (; ";")) (} "}"))) (labeled_statement "LAB_0006bb9e:\n      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);" (statement_identifier "LAB_0006bb9e") (: ":") (expression_statement "BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);" (call_expression "BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""No g and N value for index \"%s\"\n"" (" """) (string_content "No g and N value for index ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (escape_sequence "\n") (" """)) (, ",") (identifier "local_78") (, ",") (number_literal "0") () ")"))) (; ";"))) (goto_statement "goto LAB_0006aef8;" (goto "goto") (statement_identifier "LAB_0006aef8") (; ";")) (} "}"))) (expression_statement "BIO_printf(DAT_000c458c,"Database initialised\n");" (call_expression "BIO_printf(DAT_000c458c,"Database initialised\n")" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"Database initialised\n")" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""Database initialised\n"" (" """) (string_content "Database initialised") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (if_statement "if (iVar7 < 0) {\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }\n    else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;\n      BIO_printf(DAT_000c458c,"Database has no g N information.\n");\n      if (local_94 < 2) goto LAB_0006b105;\n      local_60 = 0;\n    }" ({ "{") (if_statement "if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))\n      goto LAB_0006bb9e;" (if "if") (parenthesized_expression "((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))" (( "(") (binary_expression "(0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0)" (parenthesized_expression "(0 < (int)local_8c)" (( "(") (binary_expression "0 < (int)local_8c" (number_literal "0") (< "<") (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c"))) () ")")) (&& "&&") (parenthesized_expression "(iVar7 = SRP_get_default_gN(local_78), iVar7 == 0)" (( "(") (comma_expression "iVar7 = SRP_get_default_gN(local_78), iVar7 == 0" (assignment_expression "iVar7 = SRP_get_default_gN(local_78)" (identifier "iVar7") (= "=") (call_expression "SRP_get_default_gN(local_78)" (identifier "SRP_get_default_gN") (argument_list "(local_78)" (( "(") (identifier "local_78") () ")")))) (, ",") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0006bb9e;" (goto "goto") (statement_identifier "LAB_0006bb9e") (; ";"))) (expression_statement "BIO_printf(DAT_000c458c,"Database has no g N information.\n");" (call_expression "BIO_printf(DAT_000c458c,"Database has no g N information.\n")" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"Database has no g N information.\n")" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""Database has no g N information.\n"" (" """) (string_content "Database has no g N information.") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (if_statement "if (local_94 < 2) goto LAB_0006b105;" (if "if") (parenthesized_expression "(local_94 < 2)" (( "(") (binary_expression "local_94 < 2" (identifier "local_94") (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_0006b105;" (goto "goto") (statement_identifier "LAB_0006b105") (; ";"))) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }" (else "else") (compound_statement "{\n      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n      if (local_94 == 1) goto LAB_0006b10d;\n      FUN_0006a970();\n    }" ({ "{") (expression_statement "local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (identifier "local_60") (= "=") (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (identifier "OPENSSL_sk_value") (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "iVar7") () ")")))) (; ";")) (if_statement "if (local_94 == 1) goto LAB_0006b10d;" (if "if") (parenthesized_expression "(local_94 == 1)" (( "(") (binary_expression "local_94 == 1" (identifier "local_94") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0006b10d;" (goto "goto") (statement_identifier "LAB_0006b10d") (; ";"))) (expression_statement "FUN_0006a970();" (call_expression "FUN_0006a970()" (identifier "FUN_0006a970") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "BIO_printf(DAT_000c458c,"Starting user processing\n");" (call_expression "BIO_printf(DAT_000c458c,"Starting user processing\n")" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"Starting user processing\n")" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""Starting user processing\n"" (" """) (string_content "Starting user processing") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (labeled_statement "LAB_0006b10d:\n    local_7c = (undefined **)0x8f9d4;" (statement_identifier "LAB_0006b10d") (: ":") (expression_statement "local_7c = (undefined **)0x8f9d4;" (assignment_expression "local_7c = (undefined **)0x8f9d4" (identifier "local_7c") (= "=") (cast_expression "(undefined **)0x8f9d4" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x8f9d4"))) (; ";"))) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (while_statement "while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }" (while "while") (parenthesized_expression "((local_5c != (undefined **)0x0 || (local_90 == 9)))" (( "(") (parenthesized_expression "(local_5c != (undefined **)0x0 || (local_90 == 9))" (( "(") (binary_expression "local_5c != (undefined **)0x0 || (local_90 == 9)" (binary_expression "local_5c != (undefined **)0x0" (identifier "local_5c") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(local_90 == 9)" (( "(") (binary_expression "local_90 == 9" (identifier "local_90") (== "==") (number_literal "9")) () ")"))) () ")")) () ")")) (compound_statement "{\n      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }\n      iVar7 = FUN_0006a9f0();\n      if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }\nLAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }\nLAB_0006b1bf:\n      local_5c = (undefined **)*local_64;\n      local_64 = local_64 + 1;\n      if (local_5c == (undefined **)0x0) break;\n    }" ({ "{") (if_statement "if ((1 < local_94) && (local_5c != (undefined **)0x0)) {\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }" (if "if") (parenthesized_expression "((1 < local_94) && (local_5c != (undefined **)0x0))" (( "(") (binary_expression "(1 < local_94) && (local_5c != (undefined **)0x0)" (parenthesized_expression "(1 < local_94)" (( "(") (binary_expression "1 < local_94" (number_literal "1") (< "<") (identifier "local_94")) () ")")) (&& "&&") (parenthesized_expression "(local_5c != (undefined **)0x0)" (( "(") (binary_expression "local_5c != (undefined **)0x0" (identifier "local_5c") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n        pcVar1 = (char *)local_5c;\n        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);\n        iVar7 = FUN_0006a9f0();\n        if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }\n        if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }\n        if (local_90 != 6) goto LAB_0006b283;\nLAB_0006b2d2:\n        local_34 = (void *)0x0;\n        local_30 = (void *)0x0;\n        local_24 = (char *)0x0;\n        if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }\n        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);\n        if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }\n        goto LAB_0006b570;\n      }" ({ "{") (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" (identifier "pcVar1") (= "=") (cast_expression "(char *)local_5c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_5c"))) (; ";")) (expression_statement "BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"Processing user \"%s\"\n",local_5c)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""Processing user \"%s\"\n"" (" """) (string_content "Processing user ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (escape_sequence "\n") (" """)) (, ",") (identifier "local_5c") () ")"))) (; ";")) (expression_statement "iVar7 = FUN_0006a9f0();" (assignment_expression "iVar7 = FUN_0006a9f0()" (identifier "iVar7") (= "=") (call_expression "FUN_0006a9f0()" (identifier "FUN_0006a9f0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (-1 < iVar7) {\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }" (if "if") (parenthesized_expression "(-1 < iVar7)" (( "(") (binary_expression "-1 < iVar7" (number_literal "-1") (< "<") (identifier "iVar7")) () ")")) (compound_statement "{\nLAB_0006b199:\n          FUN_0006aac0();\n          goto LAB_0006b1a4;\n        }" ({ "{") (labeled_statement "LAB_0006b199:\n          FUN_0006aac0();" (statement_identifier "LAB_0006b199") (: ":") (expression_statement "FUN_0006aac0();" (call_expression "FUN_0006aac0()" (identifier "FUN_0006aac0") (argument_list "()" (( "(") () ")"))) (; ";"))) (goto_statement "goto LAB_0006b1a4;" (goto "goto") (statement_identifier "LAB_0006b1a4") (; ";")) (} "}"))) (if_statement "if (local_90 == 9) {\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }" (if "if") (parenthesized_expression "(local_90 == 9)" (( "(") (binary_expression "local_90 == 9" (identifier "local_90") (== "==") (number_literal "9")) () ")")) (compound_statement "{\nLAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n          goto LAB_0006b1bf;\n        }" ({ "{") (labeled_statement "LAB_0006b5bd:\n          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);" (statement_identifier "LAB_0006b5bd") (: ":") (expression_statement "BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""user \"%s\" does not exist, ignored. t\n"" (" """) (string_content "user ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " does not exist, ignored. t") (escape_sequence "\n") (" """)) (, ",") (identifier "local_5c") () ")"))) (; ";"))) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" (identifier "local_68") (= "=") (binary_expression "local_68 + 1" (identifier "local_68") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" (identifier "pcVar1") (= "=") (cast_expression "(char *)local_5c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_5c"))) (; ";")) (goto_statement "goto LAB_0006b1bf;" (goto "goto") (statement_identifier "LAB_0006b1bf") (; ";")) (} "}"))) (if_statement "if (local_90 != 6) goto LAB_0006b283;" (if "if") (parenthesized_expression "(local_90 != 6)" (( "(") (binary_expression "local_90 != 6" (identifier "local_90") (!= "!=") (number_literal "6")) () ")")) (goto_statement "goto LAB_0006b283;" (goto "goto") (statement_identifier "LAB_0006b283") (; ";"))) (labeled_statement "LAB_0006b2d2:\n        local_34 = (void *)0x0;" (statement_identifier "LAB_0006b2d2") (: ":") (expression_statement "local_34 = (void *)0x0;" (assignment_expression "local_34 = (void *)0x0" (identifier "local_34") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_30 = (void *)0x0;" (assignment_expression "local_30 = (void *)0x0" (identifier "local_30") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_24 = (char *)0x0;" (assignment_expression "local_24 = (char *)0x0" (identifier "local_24") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (local_60 == 0) {\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }\n        else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }" (if "if") (parenthesized_expression "(local_60 == 0)" (( "(") (binary_expression "local_60 == 0" (identifier "local_60") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar12 = 0;\n          pcVar1 = local_78;\n        }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar1 = local_78;" (assignment_expression "pcVar1 = local_78" (identifier "pcVar1") (= "=") (identifier "local_78")) (; ";")) (} "}")) (else_clause "else {\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }" (else "else") (compound_statement "{\n          uVar12 = *(undefined4 *)(local_60 + 4);\n          pcVar1 = *(char **)(local_60 + 8);\n        }" ({ "{") (expression_statement "uVar12 = *(undefined4 *)(local_60 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(local_60 + 4)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(local_60 + 4)" (* "*") (cast_expression "(undefined4 *)(local_60 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_60 + 4)" (( "(") (binary_expression "local_60 + 4" (identifier "local_60") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "pcVar1 = *(char **)(local_60 + 8);" (assignment_expression "pcVar1 = *(char **)(local_60 + 8)" (identifier "pcVar1") (= "=") (pointer_expression "*(char **)(local_60 + 8)" (* "*") (cast_expression "(char **)(local_60 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_60 + 8)" (( "(") (binary_expression "local_60 + 8" (identifier "local_60") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")))) (expression_statement "pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);" (assignment_expression "pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94)" (identifier "pcVar9") (= "=") (cast_expression "(char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94)" (identifier "FUN_0006a7e0") (argument_list "(pcVar1,uVar12,local_3c,local_94)" (( "(") (identifier "pcVar1") (, ",") (identifier "uVar12") (, ",") (identifier "local_3c") (, ",") (identifier "local_94") () ")"))))) (; ";")) (if_statement "if (pcVar9 == (char *)0x0) {\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }\n        else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }" (if "if") (parenthesized_expression "(pcVar9 == (char *)0x0)" (( "(") (binary_expression "pcVar9 == (char *)0x0" (identifier "pcVar9") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;\n          local_68 = local_68 + 1;\n        }" ({ "{") (expression_statement "BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)\n          ;" (call_expression "BIO_printf(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,\n                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""Cannot create srp verifier for user \"%s\", operation abandoned .\n"" (" """) (string_content "Cannot create srp verifier for user ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content ", operation abandoned .") (escape_sequence "\n") (" """)) (, ",") (identifier "local_5c") () ")"))) (; ";")) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" (identifier "local_68") (= "=") (binary_expression "local_68 + 1" (identifier "local_68") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }" (else "else") (compound_statement "{\n          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);\n          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);\n          pcVar1 = (char *)0x1c0;\n          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);\n          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }\nLAB_0006b979:\n          CRYPTO_free(local_2c);\n          CRYPTO_free(local_28);\n          CRYPTO_free(local_24);\n          CRYPTO_free(local_38);\n          CRYPTO_free(local_34);\n          CRYPTO_free(local_30);\n        }" ({ "{") (expression_statement "local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);" (assignment_expression "local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be)" (identifier "local_2c") (= "=") (call_expression "CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be)" (identifier "CRYPTO_strdup") (argument_list "((char *)local_5c,"../apps/srp.c",0x1be)" (( "(") (cast_expression "(char *)local_5c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_5c")) (, ",") (string_literal ""../apps/srp.c"" (" """) (string_content "../apps/srp.c") (" """)) (, ",") (number_literal "0x1be") () ")")))) (; ";")) (expression_statement "local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);" (assignment_expression "local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf)" (identifier "local_38") (= "=") (call_expression "CRYPTO_strdup("v","../apps/srp.c",0x1bf)" (identifier "CRYPTO_strdup") (argument_list "("v","../apps/srp.c",0x1bf)" (( "(") (string_literal ""v"" (" """) (string_content "v") (" """)) (, ",") (string_literal ""../apps/srp.c"" (" """) (string_content "../apps/srp.c") (" """)) (, ",") (number_literal "0x1bf") () ")")))) (; ";")) (expression_statement "pcVar1 = (char *)0x1c0;" (assignment_expression "pcVar1 = (char *)0x1c0" (identifier "pcVar1") (= "=") (cast_expression "(char *)0x1c0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1c0"))) (; ";")) (expression_statement "local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);" (assignment_expression "local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0)" (identifier "local_28") (= "=") (call_expression "CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0)" (identifier "CRYPTO_strdup") (argument_list "(pcVar9,"../apps/srp.c",0x1c0)" (( "(") (identifier "pcVar9") (, ",") (string_literal ""../apps/srp.c"" (" """) (string_content "../apps/srp.c") (" """)) (, ",") (number_literal "0x1c0") () ")")))) (; ";")) (if_statement "if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }" (if "if") (parenthesized_expression "((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0))))" (( "(") (binary_expression "(((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))" (parenthesized_expression "(((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)\n              )" (( "(") (binary_expression "((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)" (parenthesized_expression "((local_28 != (char *)0x0) && (local_2c != (char *)0x0))" (( "(") (binary_expression "(local_28 != (char *)0x0) && (local_2c != (char *)0x0)" (parenthesized_expression "(local_28 != (char *)0x0)" (( "(") (binary_expression "local_28 != (char *)0x0" (identifier "local_28") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_2c != (char *)0x0)" (( "(") (binary_expression "local_2c != (char *)0x0" (identifier "local_2c") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_38 != (char *)0x0)" (( "(") (binary_expression "local_38 != (char *)0x0" (identifier "local_38") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))" (( "(") (parenthesized_expression "(local_34 != (void *)0x0 && (local_30 != (void *)0x0))" (( "(") (binary_expression "local_34 != (void *)0x0 && (local_30 != (void *)0x0)" (binary_expression "local_34 != (void *)0x0" (identifier "local_34") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "(local_30 != (void *)0x0)" (( "(") (binary_expression "local_30 != (void *)0x0" (identifier "local_30") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }\n            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");\n            iVar7 = 0;\n            do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);\n            value[6] = (OPENSSL_STRING)0x0;\n            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);\n            if (iVar7 != 0) goto LAB_0006b430;\n            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");\n            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));\n            CRYPTO_free(value);\n          }" ({ "{") (if_statement "if (local_74 != (char *)0x0) {\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }" (if "if") (parenthesized_expression "(local_74 != (char *)0x0)" (( "(") (binary_expression "local_74 != (char *)0x0" (identifier "local_74") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              pcVar1 = (char *)0x1c8;\n              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);\n              if (local_24 == (char *)0x0) goto LAB_0006b979;\n            }" ({ "{") (expression_statement "pcVar1 = (char *)0x1c8;" (assignment_expression "pcVar1 = (char *)0x1c8" (identifier "pcVar1") (= "=") (cast_expression "(char *)0x1c8" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1c8"))) (; ";")) (expression_statement "local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);" (assignment_expression "local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8)" (identifier "local_24") (= "=") (call_expression "CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8)" (identifier "CRYPTO_strdup") (argument_list "(local_74,"../apps/srp.c",0x1c8)" (( "(") (identifier "local_74") (, ",") (string_literal ""../apps/srp.c"" (" """) (string_content "../apps/srp.c") (" """)) (, ",") (number_literal "0x1c8") () ")")))) (; ";")) (if_statement "if (local_24 == (char *)0x0) goto LAB_0006b979;" (if "if") (parenthesized_expression "(local_24 == (char *)0x0)" (( "(") (binary_expression "local_24 == (char *)0x0" (identifier "local_24") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0006b979;" (goto "goto") (statement_identifier "LAB_0006b979") (; ";"))) (} "}"))) (expression_statement "value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");" (assignment_expression "value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers")" (identifier "value") (= "=") (cast_expression "(OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers")" (( "(") (type_descriptor "OPENSSL_STRING *" (type_identifier "OPENSSL_STRING") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00073440(0x1c,"row pointers")" (identifier "FUN_00073440") (argument_list "(0x1c,"row pointers")" (( "(") (number_literal "0x1c") (, ",") (string_literal ""row pointers"" (" """) (string_content "row pointers") (" """)) () ")"))))) (; ";")) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            } while (iVar7 != 6);" (do "do") (compound_statement "{\n              value[iVar7] = (&local_38)[iVar7];\n              iVar7 = iVar7 + 1;\n            }" ({ "{") (expression_statement "value[iVar7] = (&local_38)[iVar7];" (assignment_expression "value[iVar7] = (&local_38)[iVar7]" (subscript_expression "value[iVar7]" (identifier "value") ([ "[") (identifier "iVar7") (] "]")) (= "=") (subscript_expression "(&local_38)[iVar7]" (parenthesized_expression "(&local_38)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")")) ([ "[") (identifier "iVar7") (] "]"))) (; ";")) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 != 6)" (( "(") (binary_expression "iVar7 != 6" (identifier "iVar7") (!= "!=") (number_literal "6")) () ")")) (; ";")) (expression_statement "value[6] = (OPENSSL_STRING)0x0;" (assignment_expression "value[6] = (OPENSSL_STRING)0x0" (subscript_expression "value[6]" (identifier "value") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(OPENSSL_STRING)0x0" (( "(") (type_descriptor "OPENSSL_STRING" (type_identifier "OPENSSL_STRING")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);" (assignment_expression "iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value)" (identifier "iVar7") (= "=") (call_expression "TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value)" (identifier "TXT_DB_insert") (argument_list "(*(TXT_DB **)(iVar3 + 4),value)" (( "(") (pointer_expression "*(TXT_DB **)(iVar3 + 4)" (* "*") (cast_expression "(TXT_DB **)(iVar3 + 4)" (( "(") (type_descriptor "TXT_DB **" (type_identifier "TXT_DB") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "value") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_0006b430;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006b430;" (goto "goto") (statement_identifier "LAB_0006b430") (; ";"))) (expression_statement "BIO_printf(DAT_000c458c,"failed to update srpvfile\n");" (call_expression "BIO_printf(DAT_000c458c,"failed to update srpvfile\n")" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"failed to update srpvfile\n")" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""failed to update srpvfile\n"" (" """) (string_content "failed to update srpvfile") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));" (call_expression "BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10))" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"TXT_DB error number %ld\n",\n                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10))" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""TXT_DB error number %ld\n"" (" """) (string_content "TXT_DB error number %ld") (escape_sequence "\n") (" """)) (, ",") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 0x10)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 4) + 0x10)" (( "(") (binary_expression "*(int *)(iVar3 + 4) + 0x10" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "CRYPTO_free(value);" (call_expression "CRYPTO_free(value)" (identifier "CRYPTO_free") (argument_list "(value)" (( "(") (identifier "value") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0006b979:\n          CRYPTO_free(local_2c);" (statement_identifier "LAB_0006b979") (: ":") (expression_statement "CRYPTO_free(local_2c);" (call_expression "CRYPTO_free(local_2c)" (identifier "CRYPTO_free") (argument_list "(local_2c)" (( "(") (identifier "local_2c") () ")"))) (; ";"))) (expression_statement "CRYPTO_free(local_28);" (call_expression "CRYPTO_free(local_28)" (identifier "CRYPTO_free") (argument_list "(local_28)" (( "(") (identifier "local_28") () ")"))) (; ";")) (expression_statement "CRYPTO_free(local_24);" (call_expression "CRYPTO_free(local_24)" (identifier "CRYPTO_free") (argument_list "(local_24)" (( "(") (identifier "local_24") () ")"))) (; ";")) (expression_statement "CRYPTO_free(local_38);" (call_expression "CRYPTO_free(local_38)" (identifier "CRYPTO_free") (argument_list "(local_38)" (( "(") (identifier "local_38") () ")"))) (; ";")) (expression_statement "CRYPTO_free(local_34);" (call_expression "CRYPTO_free(local_34)" (identifier "CRYPTO_free") (argument_list "(local_34)" (( "(") (identifier "local_34") () ")"))) (; ";")) (expression_statement "CRYPTO_free(local_30);" (call_expression "CRYPTO_free(local_30)" (identifier "CRYPTO_free") (argument_list "(local_30)" (( "(") (identifier "local_30") () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0006b570;" (goto "goto") (statement_identifier "LAB_0006b570") (; ";")) (} "}"))) (expression_statement "iVar7 = FUN_0006a9f0();" (assignment_expression "iVar7 = FUN_0006a9f0()" (identifier "iVar7") (= "=") (call_expression "FUN_0006a9f0()" (identifier "FUN_0006a9f0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (-1 < iVar7) {\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }" (if "if") (parenthesized_expression "(-1 < iVar7)" (( "(") (binary_expression "-1 < iVar7" (number_literal "-1") (< "<") (identifier "iVar7")) () ")")) (compound_statement "{\n        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;\n        if (local_90 == 6) goto LAB_0006b445;\n        if (local_90 != 8) goto LAB_0006b225;\nLAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }\n        if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }\n        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);\n        local_68 = local_68 + 1;\n        if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }\n        goto LAB_0006af12;\n      }" ({ "{") (if_statement "if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;" (if "if") (parenthesized_expression "((0 < local_94) || (local_90 == 9))" (( "(") (binary_expression "(0 < local_94) || (local_90 == 9)" (parenthesized_expression "(0 < local_94)" (( "(") (binary_expression "0 < local_94" (number_literal "0") (< "<") (identifier "local_94")) () ")")) (|| "||") (parenthesized_expression "(local_90 == 9)" (( "(") (binary_expression "local_90 == 9" (identifier "local_90") (== "==") (number_literal "9")) () ")"))) () ")")) (goto_statement "goto LAB_0006b199;" (goto "goto") (statement_identifier "LAB_0006b199") (; ";"))) (if_statement "if (local_90 == 6) goto LAB_0006b445;" (if "if") (parenthesized_expression "(local_90 == 6)" (( "(") (binary_expression "local_90 == 6" (identifier "local_90") (== "==") (number_literal "6")) () ")")) (goto_statement "goto LAB_0006b445;" (goto "goto") (statement_identifier "LAB_0006b445") (; ";"))) (if_statement "if (local_90 != 8) goto LAB_0006b225;" (if "if") (parenthesized_expression "(local_90 != 8)" (( "(") (binary_expression "local_90 != 8" (identifier "local_90") (!= "!=") (number_literal "8")) () ")")) (goto_statement "goto LAB_0006b225;" (goto "goto") (statement_identifier "LAB_0006b225") (; ";"))) (labeled_statement "LAB_0006b487:\n        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (statement_identifier "LAB_0006b487") (: ":") (expression_statement "piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (identifier "piVar6") (= "=") (cast_expression "(int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (identifier "OPENSSL_sk_value") (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "iVar7") () ")"))))) (; ";"))) (if_statement "if (*(char *)*piVar6 == 'v') {\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }" (if "if") (parenthesized_expression "(*(char *)*piVar6 == 'v')" (( "(") (binary_expression "*(char *)*piVar6 == 'v'" (pointer_expression "*(char *)*piVar6" (* "*") (cast_expression "(char *)*piVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")))) (== "==") (char_literal "'v'" (' "'") (character "v") (' "'"))) () ")")) (compound_statement "{\n          pcVar1 = "user \"%s\" already updated, operation ignored.\n";\n          goto LAB_0006b29c;\n        }" ({ "{") (expression_statement "pcVar1 = "user \"%s\" already updated, operation ignored.\n";" (assignment_expression "pcVar1 = "user \"%s\" already updated, operation ignored.\n"" (identifier "pcVar1") (= "=") (string_literal ""user \"%s\" already updated, operation ignored.\n"" (" """) (string_content "user ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " already updated, operation ignored.") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_0006b29c;" (goto "goto") (statement_identifier "LAB_0006b29c") (; ";")) (} "}"))) (if_statement "if (*(char *)*piVar6 == 'V') {\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }\n        else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }" (if "if") (parenthesized_expression "(*(char *)*piVar6 == 'V')" (( "(") (binary_expression "*(char *)*piVar6 == 'V'" (pointer_expression "*(char *)*piVar6" (* "*") (cast_expression "(char *)*piVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")))) (== "==") (char_literal "'V'" (' "'") (character "V") (' "'"))) () ")")) (compound_statement "{\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }\n          iVar8 = FUN_0006a9f0();\n          if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }\n          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);\n          if (iVar7 != 0) goto LAB_0006b4b6;\n          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";\n        }" ({ "{") (if_statement "if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }" (if "if") (parenthesized_expression "(local_94 != 0)" (( "(") (binary_expression "local_94 != 0" (identifier "local_94") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);\n          }" ({ "{") (expression_statement "BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""Verifying password for user \"%s\"\n"" (" """) (string_content "Verifying password for user ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (escape_sequence "\n") (" """)) (, ",") (identifier "local_5c") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar8 = FUN_0006a9f0();" (assignment_expression "iVar8 = FUN_0006a9f0()" (identifier "iVar8") (= "=") (call_expression "FUN_0006a9f0()" (identifier "FUN_0006a9f0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))\n          {\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }\n          else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }" (if "if") (parenthesized_expression "((iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))" (( "(") (binary_expression "(iVar8 < 0) ||\n             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0)" (parenthesized_expression "(iVar8 < 0)" (( "(") (binary_expression "iVar8 < 0" (identifier "iVar8") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0)" (( "(") (comma_expression "iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0" (assignment_expression "iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (identifier "iVar7") (= "=") (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (identifier "OPENSSL_sk_value") (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "iVar7") () ")")))) (, ",") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            uVar12 = 0;\n            iVar7 = piVar6[4];\n          }" ({ "{") (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = piVar6[4];" (assignment_expression "iVar7 = piVar6[4]" (identifier "iVar7") (= "=") (subscript_expression "piVar6[4]" (identifier "piVar6") ([ "[") (number_literal "4") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }" (else "else") (compound_statement "{\n            uVar12 = *(undefined4 *)(iVar7 + 4);\n            iVar7 = *(int *)(iVar7 + 8);\n          }" ({ "{") (expression_statement "uVar12 = *(undefined4 *)(iVar7 + 4);" (assignment_expression "uVar12 = *(undefined4 *)(iVar7 + 4)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(iVar7 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(iVar7 + 8);" (assignment_expression "iVar7 = *(int *)(iVar7 + 8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar7 + 8)" (* "*") (cast_expression "(int *)(iVar7 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")))) (expression_statement "iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);" (assignment_expression "iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94)" (identifier "iVar7") (= "=") (call_expression "FUN_0006a5f0(iVar7,uVar12,local_40,local_94)" (identifier "FUN_0006a5f0") (argument_list "(iVar7,uVar12,local_40,local_94)" (( "(") (identifier "iVar7") (, ",") (identifier "uVar12") (, ",") (identifier "local_40") (, ",") (identifier "local_94") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_0006b4b6;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006b4b6;" (goto "goto") (statement_identifier "LAB_0006b4b6") (; ";"))) (expression_statement "pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";" (assignment_expression "pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n"" (identifier "pcVar1") (= "=") (string_literal ""Invalid password for user \"%s\", operation abandoned.\n"" (" """) (string_content "Invalid password for user ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content ", operation abandoned.") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }" (else "else") (compound_statement "{\nLAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }\n          if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }\n          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);\n          if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }\n          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";\n          local_64 = extraout_ECX;\n        }" ({ "{") (labeled_statement "LAB_0006b4b6:\n          if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }" (statement_identifier "LAB_0006b4b6") (: ":") (if_statement "if (local_94 != 0) {\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }" (if "if") (parenthesized_expression "(local_94 != 0)" (( "(") (binary_expression "local_94 != 0" (identifier "local_94") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);\n          }" ({ "{") (expression_statement "BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""Password for user \"%s\" ok.\n"" (" """) (string_content "Password for user ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " ok.") (escape_sequence "\n") (" """)) (, ",") (identifier "local_5c") () ")"))) (; ";")) (} "}")))) (if_statement "if (local_60 == 0) {\n            local_8c = 0;\n            uVar12 = 0;\n          }\n          else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }" (if "if") (parenthesized_expression "(local_60 == 0)" (( "(") (binary_expression "local_60 == 0" (identifier "local_60") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_8c = 0;\n            uVar12 = 0;\n          }" ({ "{") (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }" (else "else") (compound_statement "{\n            local_8c = *(undefined4 *)(local_60 + 4);\n            uVar12 = *(undefined4 *)(local_60 + 8);\n          }" ({ "{") (expression_statement "local_8c = *(undefined4 *)(local_60 + 4);" (assignment_expression "local_8c = *(undefined4 *)(local_60 + 4)" (identifier "local_8c") (= "=") (pointer_expression "*(undefined4 *)(local_60 + 4)" (* "*") (cast_expression "(undefined4 *)(local_60 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_60 + 4)" (( "(") (binary_expression "local_60 + 4" (identifier "local_60") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(local_60 + 8);" (assignment_expression "uVar12 = *(undefined4 *)(local_60 + 8)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(local_60 + 8)" (* "*") (cast_expression "(undefined4 *)(local_60 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_60 + 8)" (( "(") (binary_expression "local_60 + 8" (identifier "local_60") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")))) (expression_statement "pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);" (assignment_expression "pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94)" (identifier "pcVar9") (= "=") (cast_expression "(char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0006a7e0(uVar12,local_8c,local_3c,local_94)" (identifier "FUN_0006a7e0") (argument_list "(uVar12,local_8c,local_3c,local_94)" (( "(") (identifier "uVar12") (, ",") (identifier "local_8c") (, ",") (identifier "local_3c") (, ",") (identifier "local_94") () ")"))))) (; ";")) (if_statement "if (pcVar9 != (char *)0x0) {\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }" (if "if") (parenthesized_expression "(pcVar9 != (char *)0x0)" (( "(") (binary_expression "pcVar9 != (char *)0x0" (identifier "pcVar9") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *(undefined1 *)*piVar6 = 0x76;\n            pcVar1 = (char *)0x213;\n            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);\n            piVar6[4] = (int)pcVar9;\n            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }\nLAB_0006b570:\n            local_8c = 1;\n            goto LAB_0006b578;\n          }" ({ "{") (expression_statement "*(undefined1 *)*piVar6 = 0x76;" (assignment_expression "*(undefined1 *)*piVar6 = 0x76" (pointer_expression "*(undefined1 *)*piVar6" (* "*") (cast_expression "(undefined1 *)*piVar6" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")))) (= "=") (number_literal "0x76")) (; ";")) (expression_statement "pcVar1 = (char *)0x213;" (assignment_expression "pcVar1 = (char *)0x213" (identifier "pcVar1") (= "=") (cast_expression "(char *)0x213" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x213"))) (; ";")) (expression_statement "pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);" (assignment_expression "pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213)" (identifier "pcVar9") (= "=") (call_expression "CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213)" (identifier "CRYPTO_strdup") (argument_list "(pcVar9,"../apps/srp.c",0x213)" (( "(") (identifier "pcVar9") (, ",") (string_literal ""../apps/srp.c"" (" """) (string_content "../apps/srp.c") (" """)) (, ",") (number_literal "0x213") () ")")))) (; ";")) (expression_statement "piVar6[4] = (int)pcVar9;" (assignment_expression "piVar6[4] = (int)pcVar9" (subscript_expression "piVar6[4]" (identifier "piVar6") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(int)pcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar9"))) (; ";")) (if_statement "if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }" (if "if") (parenthesized_expression "((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0))))" (( "(") (binary_expression "(((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&\n               ((piVar6[1] != 0 && (piVar6[2] != 0)))" (parenthesized_expression "(((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0))" (( "(") (binary_expression "((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)" (parenthesized_expression "((piVar6[3] != 0) && (pcVar9 != (char *)0x0))" (( "(") (binary_expression "(piVar6[3] != 0) && (pcVar9 != (char *)0x0)" (parenthesized_expression "(piVar6[3] != 0)" (( "(") (binary_expression "piVar6[3] != 0" (subscript_expression "piVar6[3]" (identifier "piVar6") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar9 != (char *)0x0)" (( "(") (binary_expression "pcVar9 != (char *)0x0" (identifier "pcVar9") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*piVar6 != 0)" (( "(") (binary_expression "*piVar6 != 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((piVar6[1] != 0 && (piVar6[2] != 0)))" (( "(") (parenthesized_expression "(piVar6[1] != 0 && (piVar6[2] != 0))" (( "(") (binary_expression "piVar6[1] != 0 && (piVar6[2] != 0)" (binary_expression "piVar6[1] != 0" (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(piVar6[2] != 0)" (( "(") (binary_expression "piVar6[2] != 0" (subscript_expression "piVar6[2]" (identifier "piVar6") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }\nLAB_0006b430:\n              local_8c = 1;\n              goto LAB_0006b1bf;\n            }" ({ "{") (if_statement "if (local_74 != (char *)0x0) {\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }" (if "if") (parenthesized_expression "(local_74 != (char *)0x0)" (( "(") (binary_expression "local_74 != (char *)0x0" (identifier "local_74") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                pcVar1 = (char *)0x21b;\n                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);\n                piVar6[5] = (int)pcVar9;\n                if (pcVar9 == (char *)0x0) goto LAB_0006b570;\n              }" ({ "{") (expression_statement "pcVar1 = (char *)0x21b;" (assignment_expression "pcVar1 = (char *)0x21b" (identifier "pcVar1") (= "=") (cast_expression "(char *)0x21b" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x21b"))) (; ";")) (expression_statement "pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);" (assignment_expression "pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b)" (identifier "pcVar9") (= "=") (call_expression "CRYPTO_strdup(local_74,"../apps/srp.c",0x21b)" (identifier "CRYPTO_strdup") (argument_list "(local_74,"../apps/srp.c",0x21b)" (( "(") (identifier "local_74") (, ",") (string_literal ""../apps/srp.c"" (" """) (string_content "../apps/srp.c") (" """)) (, ",") (number_literal "0x21b") () ")")))) (; ";")) (expression_statement "piVar6[5] = (int)pcVar9;" (assignment_expression "piVar6[5] = (int)pcVar9" (subscript_expression "piVar6[5]" (identifier "piVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(int)pcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar9"))) (; ";")) (if_statement "if (pcVar9 == (char *)0x0) goto LAB_0006b570;" (if "if") (parenthesized_expression "(pcVar9 == (char *)0x0)" (( "(") (binary_expression "pcVar9 == (char *)0x0" (identifier "pcVar9") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0006b570;" (goto "goto") (statement_identifier "LAB_0006b570") (; ";"))) (} "}"))) (labeled_statement "LAB_0006b430:\n              local_8c = 1;" (statement_identifier "LAB_0006b430") (: ":") (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" (identifier "local_8c") (= "=") (number_literal "1")) (; ";"))) (goto_statement "goto LAB_0006b1bf;" (goto "goto") (statement_identifier "LAB_0006b1bf") (; ";")) (} "}"))) (labeled_statement "LAB_0006b570:\n            local_8c = 1;" (statement_identifier "LAB_0006b570") (: ":") (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" (identifier "local_8c") (= "=") (number_literal "1")) (; ";"))) (goto_statement "goto LAB_0006b578;" (goto "goto") (statement_identifier "LAB_0006b578") (; ";")) (} "}"))) (expression_statement "pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";" (assignment_expression "pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n"" (identifier "pcVar1") (= "=") (string_literal ""Cannot create srp verifier for user \"%s\", operation abandoned.\n"" (" """) (string_content "Cannot create srp verifier for user ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content ", operation abandoned.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "local_64 = extraout_ECX;" (assignment_expression "local_64 = extraout_ECX" (identifier "local_64") (= "=") (identifier "extraout_ECX")) (; ";")) (} "}")))) (expression_statement "BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);" (call_expression "BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,pcVar1,local_5c,local_64)" (( "(") (identifier "DAT_000c458c") (, ",") (identifier "pcVar1") (, ",") (identifier "local_5c") (, ",") (identifier "local_64") () ")"))) (; ";")) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" (identifier "local_68") (= "=") (binary_expression "local_68 + 1" (identifier "local_68") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (local_94 != 0) {\n          local_8c = 1;\n          goto LAB_0006b596;\n        }" (if "if") (parenthesized_expression "(local_94 != 0)" (( "(") (binary_expression "local_94 != 0" (identifier "local_94") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_8c = 1;\n          goto LAB_0006b596;\n        }" ({ "{") (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" (identifier "local_8c") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0006b596;" (goto "goto") (statement_identifier "LAB_0006b596") (; ";")) (} "}"))) (goto_statement "goto LAB_0006af12;" (goto "goto") (statement_identifier "LAB_0006af12") (; ";")) (} "}"))) (labeled_statement "LAB_0006b1a4:\n      if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" (statement_identifier "LAB_0006b1a4") (: ":") (if_statement "if (local_90 == 9) {\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }\n      else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(local_90 == 9)" (( "(") (binary_expression "local_90 == 9" (identifier "local_90") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n        if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;\n      }" ({ "{") (if_statement "if (local_5c == (undefined **)0x0) {\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }\n        else if (iVar7 < 0) goto LAB_0006b5bd;" (if "if") (parenthesized_expression "(local_5c == (undefined **)0x0)" (( "(") (binary_expression "local_5c == (undefined **)0x0" (identifier "local_5c") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          BIO_printf(DAT_000c458c,"List all users\n");\n          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }\n        }" ({ "{") (expression_statement "BIO_printf(DAT_000c458c,"List all users\n");" (call_expression "BIO_printf(DAT_000c458c,"List all users\n")" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"List all users\n")" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""List all users\n"" (" """) (string_content "List all users") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (for_statement "for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8; iVar7 = iVar7 + 1) {\n            FUN_0006aac0();\n          }" (for "for") (( "(") (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";") (comma_expression "iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),\n              iVar7 < iVar8" (assignment_expression "iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" (identifier "iVar8") (= "=") (call_expression "OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" (identifier "OPENSSL_sk_num") (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) () ")")))) (, ",") (binary_expression "iVar7 < iVar8" (identifier "iVar7") (< "<") (identifier "iVar8"))) (; ";") (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n            FUN_0006aac0();\n          }" ({ "{") (expression_statement "FUN_0006aac0();" (call_expression "FUN_0006aac0()" (identifier "FUN_0006aac0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar7 < 0) goto LAB_0006b5bd;" (else "else") (if_statement "if (iVar7 < 0) goto LAB_0006b5bd;" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006b5bd;" (goto "goto") (statement_identifier "LAB_0006b5bd") (; ";"))))) (} "}")) (else_clause "else if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" (else "else") (if_statement "if (local_90 == 6) {\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }\n      else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(local_90 == 6)" (( "(") (binary_expression "local_90 == 6" (identifier "local_90") (== "==") (number_literal "6")) () ")")) (compound_statement "{\n        if (iVar7 < 0) goto LAB_0006b2d2;\nLAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);\n        local_8c = 1;\n        *(undefined1 *)*puVar5 = 0x56;\n        pcVar1 = (char *)local_5c;\n      }" ({ "{") (if_statement "if (iVar7 < 0) goto LAB_0006b2d2;" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006b2d2;" (goto "goto") (statement_identifier "LAB_0006b2d2") (; ";"))) (labeled_statement "LAB_0006b445:\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (statement_identifier "LAB_0006b445") (: ":") (expression_statement "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (identifier "OPENSSL_sk_value") (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "iVar7") () ")"))))) (; ";"))) (expression_statement "BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""user \"%s\" reactivated.\n"" (" """) (string_content "user ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " reactivated.") (escape_sequence "\n") (" """)) (, ",") (identifier "local_5c") () ")"))) (; ";")) (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" (identifier "local_8c") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined1 *)*puVar5 = 0x56;" (assignment_expression "*(undefined1 *)*puVar5 = 0x56" (pointer_expression "*(undefined1 *)*puVar5" (* "*") (cast_expression "(undefined1 *)*puVar5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (= "=") (number_literal "0x56")) (; ";")) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" (identifier "pcVar1") (= "=") (cast_expression "(char *)local_5c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_5c"))) (; ";")) (} "}")) (else_clause "else {\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" (else "else") (compound_statement "{\nLAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }\n      }" ({ "{") (labeled_statement "LAB_0006b283:\n        if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }" (statement_identifier "LAB_0006b283") (: ":") (if_statement "if (local_90 == 8) {\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }\n        else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(local_90 == 8)" (( "(") (binary_expression "local_90 == 8" (identifier "local_90") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n          if (-1 < iVar7) goto LAB_0006b487;\n          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";\nLAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);\n          local_68 = local_68 + 1;\n          pcVar1 = (char *)local_5c;\n        }" ({ "{") (if_statement "if (-1 < iVar7) goto LAB_0006b487;" (if "if") (parenthesized_expression "(-1 < iVar7)" (( "(") (binary_expression "-1 < iVar7" (number_literal "-1") (< "<") (identifier "iVar7")) () ")")) (goto_statement "goto LAB_0006b487;" (goto "goto") (statement_identifier "LAB_0006b487") (; ";"))) (expression_statement "pcVar1 = "user \"%s\" does not exist, operation ignored.\n";" (assignment_expression "pcVar1 = "user \"%s\" does not exist, operation ignored.\n"" (identifier "pcVar1") (= "=") (string_literal ""user \"%s\" does not exist, operation ignored.\n"" (" """) (string_content "user ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " does not exist, operation ignored.") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_0006b29c:\n          BIO_printf(DAT_000c458c,pcVar1,local_5c);" (statement_identifier "LAB_0006b29c") (: ":") (expression_statement "BIO_printf(DAT_000c458c,pcVar1,local_5c);" (call_expression "BIO_printf(DAT_000c458c,pcVar1,local_5c)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,pcVar1,local_5c)" (( "(") (identifier "DAT_000c458c") (, ",") (identifier "pcVar1") (, ",") (identifier "local_5c") () ")"))) (; ";"))) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" (identifier "local_68") (= "=") (binary_expression "local_68 + 1" (identifier "local_68") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" (identifier "pcVar1") (= "=") (cast_expression "(char *)local_5c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_5c"))) (; ";")) (} "}")) (else_clause "else {\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }" (else "else") (compound_statement "{\nLAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }\n        }" ({ "{") (labeled_statement "LAB_0006b225:\n          if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }" (statement_identifier "LAB_0006b225") (: ":") (if_statement "if (local_90 == 7) {\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }" (if "if") (parenthesized_expression "(local_90 == 7)" (( "(") (binary_expression "local_90 == 7" (identifier "local_90") (== "==") (number_literal "7")) () ")")) (compound_statement "{\n            if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }\n          }" ({ "{") (if_statement "if (iVar7 < 0) {\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }\n            else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;\n              local_68 = local_68 + 1;\n              pcVar1 = (char *)local_5c;\n            }" ({ "{") (expression_statement "BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)\n              ;" (call_expression "BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""user \"%s\" does not exist, operation ignored. t\n"" (" """) (string_content "user ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " does not exist, operation ignored. t") (escape_sequence "\n") (" """)) (, ",") (identifier "local_5c") () ")"))) (; ";")) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" (identifier "local_68") (= "=") (binary_expression "local_68 + 1" (identifier "local_68") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" (identifier "pcVar1") (= "=") (cast_expression "(char *)local_5c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_5c"))) (; ";")) (} "}")) (else_clause "else {\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }" (else "else") (compound_statement "{\n              puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);\n              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);\n              local_8c = 1;\n              *(undefined1 *)*puVar5 = 0x52;\n              pcVar1 = (char *)local_5c;\n            }" ({ "{") (expression_statement "puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);" (assignment_expression "puVar5 = (undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)\n                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (identifier "OPENSSL_sk_value") (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7)" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "iVar7") () ")"))))) (; ";")) (expression_statement "BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);" (call_expression "BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""user \"%s\" revoked. t\n"" (" """) (string_content "user ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " revoked. t") (escape_sequence "\n") (" """)) (, ",") (identifier "local_5c") () ")"))) (; ";")) (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" (identifier "local_8c") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined1 *)*puVar5 = 0x52;" (assignment_expression "*(undefined1 *)*puVar5 = 0x52" (pointer_expression "*(undefined1 *)*puVar5" (* "*") (cast_expression "(undefined1 *)*puVar5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (= "=") (number_literal "0x52")) (; ";")) (expression_statement "pcVar1 = (char *)local_5c;" (assignment_expression "pcVar1 = (char *)local_5c" (identifier "pcVar1") (= "=") (cast_expression "(char *)local_5c" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_5c"))) (; ";")) (} "}")))) (} "}")))) (} "}"))))) (} "}"))))))) (labeled_statement "LAB_0006b1bf:\n      local_5c = (undefined **)*local_64;" (statement_identifier "LAB_0006b1bf") (: ":") (expression_statement "local_5c = (undefined **)*local_64;" (assignment_expression "local_5c = (undefined **)*local_64" (identifier "local_5c") (= "=") (cast_expression "(undefined **)*local_64" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*local_64" (* "*") (identifier "local_64")))) (; ";"))) (expression_statement "local_64 = local_64 + 1;" (assignment_expression "local_64 = local_64 + 1" (identifier "local_64") (= "=") (binary_expression "local_64 + 1" (identifier "local_64") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (local_5c == (undefined **)0x0) break;" (if "if") (parenthesized_expression "(local_5c == (undefined **)0x0)" (( "(") (binary_expression "local_5c == (undefined **)0x0" (identifier "local_5c") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (if_statement "if (local_94 != 0) {\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }" (if "if") (parenthesized_expression "(local_94 != 0)" (( "(") (binary_expression "local_94 != 0" (identifier "local_94") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);\n    }" ({ "{") (expression_statement "BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);" (call_expression "BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"User procession done.\n",pcVar1)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""User procession done.\n"" (" """) (string_content "User procession done.") (escape_sequence "\n") (" """)) (, ",") (identifier "pcVar1") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_8c != 0) {\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }" (if "if") (parenthesized_expression "(local_8c != 0)" (( "(") (binary_expression "local_8c != 0" (identifier "local_8c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }\n      if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }\n      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      goto LAB_0006b057;\n    }" ({ "{") (for_statement "for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;\n          iVar2 = iVar2 + 1) {\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }" (for "for") (( "(") (; ";") (comma_expression "iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7" (assignment_expression "iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" (identifier "iVar7") (= "=") (call_expression "OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" (identifier "OPENSSL_sk_num") (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) () ")")))) (, ",") (binary_expression "iVar2 < iVar7" (identifier "iVar2") (< "<") (identifier "iVar7"))) (; ";") (assignment_expression "iVar2 = iVar2 + 1" (identifier "iVar2") (= "=") (binary_expression "iVar2 + 1" (identifier "iVar2") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);\n        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }\n      }" ({ "{") (expression_statement "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);" (assignment_expression "puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2)" (identifier "OPENSSL_sk_value") (argument_list "(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2)" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar3 + 4) + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar3 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar3 + 4) + 4" (pointer_expression "*(int *)(iVar3 + 4)" (* "*") (cast_expression "(int *)(iVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "iVar2") () ")"))))) (; ";")) (if_statement "if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {\n          FUN_0006aac0();\n        }" (if "if") (parenthesized_expression "((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0))" (( "(") (binary_expression "(*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)" (parenthesized_expression "(*(char *)*puVar5 == 'v')" (( "(") (binary_expression "*(char *)*puVar5 == 'v'" (pointer_expression "*(char *)*puVar5" (* "*") (cast_expression "(char *)*puVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (== "==") (char_literal "'v'" (' "'") (character "v") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)*puVar5 = 'V', local_94 != 0)" (( "(") (comma_expression "*(char *)*puVar5 = 'V', local_94 != 0" (assignment_expression "*(char *)*puVar5 = 'V'" (pointer_expression "*(char *)*puVar5" (* "*") (cast_expression "(char *)*puVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (= "=") (char_literal "'V'" (' "'") (character "V") (' "'"))) (, ",") (binary_expression "local_94 != 0" (identifier "local_94") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          FUN_0006aac0();\n        }" ({ "{") (expression_statement "FUN_0006aac0();" (call_expression "FUN_0006aac0()" (identifier "FUN_0006aac0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_94 != 0) {\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }" (if "if") (parenthesized_expression "(local_94 != 0)" (( "(") (binary_expression "local_94 != 0" (identifier "local_94") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");\n        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);\n        if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }\n        if (local_68 != 0) goto LAB_0006b596;\n        goto LAB_0006b002;\n      }" ({ "{") (expression_statement "BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");" (call_expression "BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n")" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"Trying to update srpvfile.\n")" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""Trying to update srpvfile.\n"" (" """) (string_content "Trying to update srpvfile.") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);" (assignment_expression "iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3)" (identifier "iVar2") (= "=") (call_expression "FUN_00074980(local_80,&DAT_0007e978,iVar3)" (identifier "FUN_00074980") (argument_list "(local_80,&DAT_0007e978,iVar3)" (( "(") (identifier "local_80") (, ",") (pointer_expression "&DAT_0007e978" (& "&") (identifier "DAT_0007e978")) (, ",") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");\n          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");\n          if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }\n        }" ({ "{") (expression_statement "BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");" (call_expression "BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n")" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"Temporary srpvfile created.\n")" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""Temporary srpvfile created.\n"" (" """) (string_content "Temporary srpvfile created.") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");" (assignment_expression "iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old")" (identifier "iVar2") (= "=") (call_expression "FUN_00074b50(local_80,&DAT_0007e978,"old")" (identifier "FUN_00074b50") (argument_list "(local_80,&DAT_0007e978,"old")" (( "(") (identifier "local_80") (, ",") (pointer_expression "&DAT_0007e978" (& "&") (identifier "DAT_0007e978")) (, ",") (string_literal ""old"" (" """) (string_content "old") (" """)) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            BIO_printf(DAT_000c458c,"srpvfile updated.\n");\n            goto LAB_0006b7f8;\n          }" ({ "{") (expression_statement "BIO_printf(DAT_000c458c,"srpvfile updated.\n");" (call_expression "BIO_printf(DAT_000c458c,"srpvfile updated.\n")" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"srpvfile updated.\n")" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""srpvfile updated.\n"" (" """) (string_content "srpvfile updated.") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto LAB_0006b7f8;" (goto "goto") (statement_identifier "LAB_0006b7f8") (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_68 != 0) goto LAB_0006b596;" (if "if") (parenthesized_expression "(local_68 != 0)" (( "(") (binary_expression "local_68 != 0" (identifier "local_68") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006b596;" (goto "goto") (statement_identifier "LAB_0006b596") (; ";"))) (goto_statement "goto LAB_0006b002;" (goto "goto") (statement_identifier "LAB_0006b002") (; ";")) (} "}"))) (expression_statement "iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);" (assignment_expression "iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3)" (identifier "iVar2") (= "=") (call_expression "FUN_00074980(local_80,&DAT_0007e978,iVar3)" (identifier "FUN_00074980") (argument_list "(local_80,&DAT_0007e978,iVar3)" (( "(") (identifier "local_80") (, ",") (pointer_expression "&DAT_0007e978" (& "&") (identifier "DAT_0007e978")) (, ",") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))\n      goto LAB_0006b7f8;" (if "if") (parenthesized_expression "((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))" (( "(") (binary_expression "(iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0)" (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0)" (( "(") (comma_expression "iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0" (assignment_expression "iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old")" (identifier "iVar2") (= "=") (call_expression "FUN_00074b50(local_80,&DAT_0007e978,"old")" (identifier "FUN_00074b50") (argument_list "(local_80,&DAT_0007e978,"old")" (( "(") (identifier "local_80") (, ",") (pointer_expression "&DAT_0007e978" (& "&") (identifier "DAT_0007e978")) (, ",") (string_literal ""old"" (" """) (string_content "old") (" """)) () ")")))) (, ",") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0006b7f8;" (goto "goto") (statement_identifier "LAB_0006b7f8") (; ";"))) (expression_statement "CRYPTO_free(local_40);" (call_expression "CRYPTO_free(local_40)" (identifier "CRYPTO_free") (argument_list "(local_40)" (( "(") (identifier "local_40") () ")"))) (; ";")) (expression_statement "uVar12 = 0x25d;" (assignment_expression "uVar12 = 0x25d" (identifier "uVar12") (= "=") (number_literal "0x25d")) (; ";")) (expression_statement "CRYPTO_free(local_3c);" (call_expression "CRYPTO_free(local_3c)" (identifier "CRYPTO_free") (argument_list "(local_3c)" (( "(") (identifier "local_3c") () ")"))) (; ";")) (goto_statement "goto LAB_0006b057;" (goto "goto") (statement_identifier "LAB_0006b057") (; ";")) (} "}"))) (labeled_statement "LAB_0006b7f8:\n    local_8c = (uint)(local_68 != 0);" (statement_identifier "LAB_0006b7f8") (: ":") (expression_statement "local_8c = (uint)(local_68 != 0);" (assignment_expression "local_8c = (uint)(local_68 != 0)" (identifier "local_8c") (= "=") (call_expression "(uint)(local_68 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_68 != 0)" (( "(") (binary_expression "local_68 != 0" (identifier "local_68") (!= "!=") (number_literal "0")) () ")")))) (; ";"))) (labeled_statement "LAB_0006b578:\n    if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }" (statement_identifier "LAB_0006b578") (: ":") (if_statement "if (local_68 != 0) {\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }" (if "if") (parenthesized_expression "(local_68 != 0)" (( "(") (binary_expression "local_68 != 0" (identifier "local_68") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }\n      goto LAB_0006b01a;\n    }" ({ "{") (if_statement "if (local_94 != 0) {\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }" (if "if") (parenthesized_expression "(local_94 != 0)" (( "(") (binary_expression "local_94 != 0" (identifier "local_94") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);\n        goto LAB_0006b002;\n      }" ({ "{") (labeled_statement "LAB_0006b596:\n        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);" (statement_identifier "LAB_0006b596") (: ":") (expression_statement "BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);" (call_expression "BIO_printf(DAT_000c458c,"User errors %d.\n",local_68)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"User errors %d.\n",local_68)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""User errors %d.\n"" (" """) (string_content "User errors %d.") (escape_sequence "\n") (" """)) (, ",") (identifier "local_68") () ")"))) (; ";"))) (goto_statement "goto LAB_0006b002;" (goto "goto") (statement_identifier "LAB_0006b002") (; ";")) (} "}"))) (goto_statement "goto LAB_0006b01a;" (goto "goto") (statement_identifier "LAB_0006b01a") (; ";")) (} "}")))) (labeled_statement "LAB_0006aeb8:\n    if (local_94 == 0) goto LAB_0006b01a;" (statement_identifier "LAB_0006aeb8") (: ":") (if_statement "if (local_94 == 0) goto LAB_0006b01a;" (if "if") (parenthesized_expression "(local_94 == 0)" (( "(") (binary_expression "local_94 == 0" (identifier "local_94") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006b01a;" (goto "goto") (statement_identifier "LAB_0006b01a") (; ";")))) (goto_statement "goto LAB_0006b002;" (goto "goto") (statement_identifier "LAB_0006b002") (; ";")) (} "}"))) (expression_statement "pcVar9 = "-passin, -passout arguments only valid with one user.\n";" (assignment_expression "pcVar9 = "-passin, -passout arguments only valid with one user.\n"" (identifier "pcVar9") (= "=") (string_literal ""-passin, -passout arguments only valid with one user.\n"" (" """) (string_content "-passin, -passout arguments only valid with one user.") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_0006b69b:\n  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);" (statement_identifier "LAB_0006b69b") (: ":") (expression_statement "BIO_printf(DAT_000c458c,pcVar9,ppuVar11);" (call_expression "BIO_printf(DAT_000c458c,pcVar9,ppuVar11)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,pcVar9,ppuVar11)" (( "(") (identifier "DAT_000c458c") (, ",") (identifier "pcVar9") (, ",") (identifier "ppuVar11") () ")"))) (; ";"))) (labeled_statement "LAB_0006aed6:\n  pcVar9 = "%s: Use -help for summary.\n";" (statement_identifier "LAB_0006aed6") (: ":") (expression_statement "pcVar9 = "%s: Use -help for summary.\n";" (assignment_expression "pcVar9 = "%s: Use -help for summary.\n"" (identifier "pcVar9") (= "=") (string_literal ""%s: Use -help for summary.\n"" (" """) (string_content "%s: Use -help for summary.") (escape_sequence "\n") (" """))) (; ";"))) (labeled_statement "LAB_0006aee4:\n  iVar3 = 0;" (statement_identifier "LAB_0006aee4") (: ":") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";"))) (expression_statement "BIO_printf(DAT_000c458c,pcVar9,pcVar1);" (call_expression "BIO_printf(DAT_000c458c,pcVar9,pcVar1)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,pcVar9,pcVar1)" (( "(") (identifier "DAT_000c458c") (, ",") (identifier "pcVar9") (, ",") (identifier "pcVar1") () ")"))) (; ";")) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" (identifier "local_84") (= "=") (cast_expression "(CONF *)0x0" (( "(") (type_descriptor "CONF *" (type_identifier "CONF") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0006aef8:\n  if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }" (statement_identifier "LAB_0006aef8") (: ":") (if_statement "if (local_94 == 0) {\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }\n  else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }" (if "if") (parenthesized_expression "(local_94 == 0)" (( "(") (binary_expression "local_94 == 0" (identifier "local_94") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n  }" ({ "{") (labeled_statement "LAB_0006af12:\n    local_7c = (undefined **)0x8f9d4;" (statement_identifier "LAB_0006af12") (: ":") (expression_statement "local_7c = (undefined **)0x8f9d4;" (assignment_expression "local_7c = (undefined **)0x8f9d4" (identifier "local_7c") (= "=") (cast_expression "(undefined **)0x8f9d4" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x8f9d4"))) (; ";"))) (expression_statement "CRYPTO_free(local_40);" (call_expression "CRYPTO_free(local_40)" (identifier "CRYPTO_free") (argument_list "(local_40)" (( "(") (identifier "local_40") () ")"))) (; ";")) (expression_statement "uVar12 = 0x25d;" (assignment_expression "uVar12 = 0x25d" (identifier "uVar12") (= "=") (number_literal "0x25d")) (; ";")) (expression_statement "CRYPTO_free(local_3c);" (call_expression "CRYPTO_free(local_3c)" (identifier "CRYPTO_free") (argument_list "(local_3c)" (( "(") (identifier "local_3c") () ")"))) (; ";")) (} "}")) (else_clause "else {\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }" (else "else") (compound_statement "{\nLAB_0006b0c2:\n    local_8c = 1;\nLAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);\nLAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;\n    CRYPTO_free(local_40);\n    uVar12 = 0x25d;\n    CRYPTO_free(local_3c);\n    if (local_8c == 0) goto LAB_0006ae29;\n  }" ({ "{") (labeled_statement "LAB_0006b0c2:\n    local_8c = 1;" (statement_identifier "LAB_0006b0c2") (: ":") (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" (identifier "local_8c") (= "=") (number_literal "1")) (; ";"))) (labeled_statement "LAB_0006b002:\n    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);" (statement_identifier "LAB_0006b002") (: ":") (expression_statement "BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);" (call_expression "BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c)" (identifier "BIO_printf") (argument_list "(DAT_000c458c,"SRP terminating with code %d.\n",local_8c)" (( "(") (identifier "DAT_000c458c") (, ",") (string_literal ""SRP terminating with code %d.\n"" (" """) (string_content "SRP terminating with code %d.") (escape_sequence "\n") (" """)) (, ",") (identifier "local_8c") () ")"))) (; ";"))) (labeled_statement "LAB_0006b01a:\n    local_7c = (undefined **)0x8f9d4;" (statement_identifier "LAB_0006b01a") (: ":") (expression_statement "local_7c = (undefined **)0x8f9d4;" (assignment_expression "local_7c = (undefined **)0x8f9d4" (identifier "local_7c") (= "=") (cast_expression "(undefined **)0x8f9d4" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x8f9d4"))) (; ";"))) (expression_statement "CRYPTO_free(local_40);" (call_expression "CRYPTO_free(local_40)" (identifier "CRYPTO_free") (argument_list "(local_40)" (( "(") (identifier "local_40") () ")"))) (; ";")) (expression_statement "uVar12 = 0x25d;" (assignment_expression "uVar12 = 0x25d" (identifier "uVar12") (= "=") (number_literal "0x25d")) (; ";")) (expression_statement "CRYPTO_free(local_3c);" (call_expression "CRYPTO_free(local_3c)" (identifier "CRYPTO_free") (argument_list "(local_3c)" (( "(") (identifier "local_3c") () ")"))) (; ";")) (if_statement "if (local_8c == 0) goto LAB_0006ae29;" (if "if") (parenthesized_expression "(local_8c == 0)" (( "(") (binary_expression "local_8c == 0" (identifier "local_8c") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006ae29;" (goto "goto") (statement_identifier "LAB_0006ae29") (; ";"))) (} "}"))))) (labeled_statement "LAB_0006b057:\n  ERR_print_errors(DAT_000c458c);" (statement_identifier "LAB_0006b057") (: ":") (expression_statement "ERR_print_errors(DAT_000c458c);" (call_expression "ERR_print_errors(DAT_000c458c)" (identifier "ERR_print_errors") (argument_list "(DAT_000c458c)" (( "(") (identifier "DAT_000c458c") () ")"))) (; ";"))) (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" (identifier "local_8c") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_0006ae29:\n  NCONF_free(local_84);" (statement_identifier "LAB_0006ae29") (: ":") (expression_statement "NCONF_free(local_84);" (call_expression "NCONF_free(local_84)" (identifier "NCONF_free") (argument_list "(local_84)" (( "(") (identifier "local_84") () ")"))) (; ";"))) (expression_statement "FUN_00074e20(iVar3,local_7c,uVar12);" (call_expression "FUN_00074e20(iVar3,local_7c,uVar12)" (identifier "FUN_00074e20") (argument_list "(iVar3,local_7c,uVar12)" (( "(") (identifier "iVar3") (, ",") (identifier "local_7c") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "FUN_00074230(local_88);" (call_expression "FUN_00074230(local_88)" (identifier "FUN_00074230") (argument_list "(local_88)" (( "(") (identifier "local_88") () ")"))) (; ";")) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0007d010();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_0007d010();\n  }" ({ "{") (expression_statement "FUN_0007d010();" (call_expression "FUN_0007d010()" (identifier "FUN_0007d010") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return local_8c;" (return "return") (identifier "local_8c") (; ";")) (labeled_statement "LAB_0006abe9:\n  while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }" (statement_identifier "LAB_0006abe9") (: ":") (while_statement "while (iVar2 < 10) {\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }" (while "while") (parenthesized_expression "(iVar2 < 10)" (( "(") (binary_expression "iVar2 < 10" (identifier "iVar2") (< "<") (number_literal "10")) () ")")) (compound_statement "{\n    if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }\n    if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }\n    if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }\n    if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }\n    local_7c = (undefined **)FUN_00078b30();\n    iVar2 = FUN_00078780();\n    if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }\n  }" ({ "{") (if_statement "if (5 < iVar2) {\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }" (if "if") (parenthesized_expression "(5 < iVar2)" (( "(") (binary_expression "5 < iVar2" (number_literal "5") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n      bVar10 = local_90 == -1;\n      local_90 = iVar2;\n      if (bVar10) goto LAB_0006abe0;\n      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";\n      ppuVar11 = (undefined **)pcVar1;\n      goto LAB_0006b69b;\n    }" ({ "{") (expression_statement "bVar10 = local_90 == -1;" (assignment_expression "bVar10 = local_90 == -1" (identifier "bVar10") (= "=") (binary_expression "local_90 == -1" (identifier "local_90") (== "==") (number_literal "-1"))) (; ";")) (expression_statement "local_90 = iVar2;" (assignment_expression "local_90 = iVar2" (identifier "local_90") (= "=") (identifier "iVar2")) (; ";")) (if_statement "if (bVar10) goto LAB_0006abe0;" (if "if") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")")) (goto_statement "goto LAB_0006abe0;" (goto "goto") (statement_identifier "LAB_0006abe0") (; ";"))) (expression_statement "pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";" (assignment_expression "pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n"" (identifier "pcVar9") (= "=") (string_literal ""%s: Only one of -add/-delete/-modify/-list\n"" (" """) (string_content "%s: Only one of -add/-delete/-modify/-list") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "ppuVar11 = (undefined **)pcVar1;" (assignment_expression "ppuVar11 = (undefined **)pcVar1" (identifier "ppuVar11") (= "=") (cast_expression "(undefined **)pcVar1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar1"))) (; ";")) (goto_statement "goto LAB_0006b69b;" (goto "goto") (statement_identifier "LAB_0006b69b") (; ";")) (} "}"))) (if_statement "if (iVar2 == 2) {\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }" (if "if") (parenthesized_expression "(iVar2 == 2)" (( "(") (binary_expression "iVar2 == 2" (identifier "iVar2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      local_94 = local_94 + 1;\n      goto LAB_0006abe0;\n    }" ({ "{") (expression_statement "local_94 = local_94 + 1;" (assignment_expression "local_94 = local_94 + 1" (identifier "local_94") (= "=") (binary_expression "local_94 + 1" (identifier "local_94") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_0006abe0;" (goto "goto") (statement_identifier "LAB_0006abe0") (; ";")) (} "}"))) (if_statement "if (iVar2 < 3) {\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }" (if "if") (parenthesized_expression "(iVar2 < 3)" (( "(") (binary_expression "iVar2 < 3" (identifier "iVar2") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n      if (iVar2 == -1) goto LAB_0006aed6;\n      if (iVar2 != 1) goto LAB_0006abe0;\n      FUN_00079140(&PTR_DAT_000ba060);\n      if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }\n      local_7c = (undefined **)0x8f9d4;\n      iVar3 = 0;\n      CRYPTO_free(local_40);\n      uVar12 = 0x25d;\n      CRYPTO_free(local_3c);\n      local_8c = 0;\n      local_84 = (CONF *)0x0;\n      goto LAB_0006ae29;\n    }" ({ "{") (if_statement "if (iVar2 == -1) goto LAB_0006aed6;" (if "if") (parenthesized_expression "(iVar2 == -1)" (( "(") (binary_expression "iVar2 == -1" (identifier "iVar2") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0006aed6;" (goto "goto") (statement_identifier "LAB_0006aed6") (; ";"))) (if_statement "if (iVar2 != 1) goto LAB_0006abe0;" (if "if") (parenthesized_expression "(iVar2 != 1)" (( "(") (binary_expression "iVar2 != 1" (identifier "iVar2") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_0006abe0;" (goto "goto") (statement_identifier "LAB_0006abe0") (; ";"))) (expression_statement "FUN_00079140(&PTR_DAT_000ba060);" (call_expression "FUN_00079140(&PTR_DAT_000ba060)" (identifier "FUN_00079140") (argument_list "(&PTR_DAT_000ba060)" (( "(") (pointer_expression "&PTR_DAT_000ba060" (& "&") (identifier "PTR_DAT_000ba060")) () ")"))) (; ";")) (if_statement "if (local_94 != 0) {\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }" (if "if") (parenthesized_expression "(local_94 != 0)" (( "(") (binary_expression "local_94 != 0" (identifier "local_94") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_8c = 0;\n        iVar3 = 0;\n        local_84 = (CONF *)0x0;\n        goto LAB_0006b002;\n      }" ({ "{") (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" (identifier "local_84") (= "=") (cast_expression "(CONF *)0x0" (( "(") (type_descriptor "CONF *" (type_identifier "CONF") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0006b002;" (goto "goto") (statement_identifier "LAB_0006b002") (; ";")) (} "}"))) (expression_statement "local_7c = (undefined **)0x8f9d4;" (assignment_expression "local_7c = (undefined **)0x8f9d4" (identifier "local_7c") (= "=") (cast_expression "(undefined **)0x8f9d4" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x8f9d4"))) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "CRYPTO_free(local_40);" (call_expression "CRYPTO_free(local_40)" (identifier "CRYPTO_free") (argument_list "(local_40)" (( "(") (identifier "local_40") () ")"))) (; ";")) (expression_statement "uVar12 = 0x25d;" (assignment_expression "uVar12 = 0x25d" (identifier "uVar12") (= "=") (number_literal "0x25d")) (; ";")) (expression_statement "CRYPTO_free(local_3c);" (call_expression "CRYPTO_free(local_3c)" (identifier "CRYPTO_free") (argument_list "(local_3c)" (( "(") (identifier "local_3c") () ")"))) (; ";")) (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" (identifier "local_84") (= "=") (cast_expression "(CONF *)0x0" (( "(") (type_descriptor "CONF *" (type_identifier "CONF") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0006ae29;" (goto "goto") (statement_identifier "LAB_0006ae29") (; ";")) (} "}"))) (if_statement "if (iVar2 == 4) {\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }" (if "if") (parenthesized_expression "(iVar2 == 4)" (( "(") (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n      pcVar9 = (char *)FUN_00078b30();\n      goto LAB_0006abe0;\n    }" ({ "{") (expression_statement "pcVar9 = (char *)FUN_00078b30();" (assignment_expression "pcVar9 = (char *)FUN_00078b30()" (identifier "pcVar9") (= "=") (cast_expression "(char *)FUN_00078b30()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")"))))) (; ";")) (goto_statement "goto LAB_0006abe0;" (goto "goto") (statement_identifier "LAB_0006abe0") (; ";")) (} "}"))) (if_statement "if (4 < iVar2) {\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }" (if "if") (parenthesized_expression "(4 < iVar2)" (( "(") (binary_expression "4 < iVar2" (number_literal "4") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n      local_80 = (undefined **)FUN_00078b30();\n      goto LAB_0006abe0;\n    }" ({ "{") (expression_statement "local_80 = (undefined **)FUN_00078b30();" (assignment_expression "local_80 = (undefined **)FUN_00078b30()" (identifier "local_80") (= "=") (cast_expression "(undefined **)FUN_00078b30()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")"))))) (; ";")) (goto_statement "goto LAB_0006abe0;" (goto "goto") (statement_identifier "LAB_0006abe0") (; ";")) (} "}"))) (expression_statement "local_7c = (undefined **)FUN_00078b30();" (assignment_expression "local_7c = (undefined **)FUN_00078b30()" (identifier "local_7c") (= "=") (cast_expression "(undefined **)FUN_00078b30()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar2 = FUN_00078780();" (assignment_expression "iVar2 = FUN_00078780()" (identifier "iVar2") (= "=") (call_expression "FUN_00078780()" (identifier "FUN_00078780") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar2 = 0;\n      goto LAB_0006ac30;\n    }" ({ "{") (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0006ac30;" (goto "goto") (statement_identifier "LAB_0006ac30") (; ";")) (} "}"))) (} "}")))) (if_statement "if (iVar2 == 0xd) {\n    local_84 = (CONF *)FUN_00078b30();\n  }\n  else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" (if "if") (parenthesized_expression "(iVar2 == 0xd)" (( "(") (binary_expression "iVar2 == 0xd" (identifier "iVar2") (== "==") (number_literal "0xd")) () ")")) (compound_statement "{\n    local_84 = (CONF *)FUN_00078b30();\n  }" ({ "{") (expression_statement "local_84 = (CONF *)FUN_00078b30();" (assignment_expression "local_84 = (CONF *)FUN_00078b30()" (identifier "local_84") (= "=") (cast_expression "(CONF *)FUN_00078b30()" (( "(") (type_descriptor "CONF *" (type_identifier "CONF") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (else_clause "else if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" (else "else") (if_statement "if (iVar2 < 0xe) {\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }\n  else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" (if "if") (parenthesized_expression "(iVar2 < 0xe)" (( "(") (binary_expression "iVar2 < 0xe" (identifier "iVar2") (< "<") (number_literal "0xe")) () ")")) (compound_statement "{\n    if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }\n  }" ({ "{") (if_statement "if (iVar2 == 0xb) {\n      local_74 = (char *)FUN_00078b30();\n    }\n    else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }" (if "if") (parenthesized_expression "(iVar2 == 0xb)" (( "(") (binary_expression "iVar2 == 0xb" (identifier "iVar2") (== "==") (number_literal "0xb")) () ")")) (compound_statement "{\n      local_74 = (char *)FUN_00078b30();\n    }" ({ "{") (expression_statement "local_74 = (char *)FUN_00078b30();" (assignment_expression "local_74 = (char *)FUN_00078b30()" (identifier "local_74") (= "=") (cast_expression "(char *)FUN_00078b30()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (else_clause "else if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }" (else "else") (if_statement "if (iVar2 < 0xc) {\n      local_78 = (char *)FUN_00078b30();\n    }\n    else {\n      local_8c = FUN_00078b30();\n    }" (if "if") (parenthesized_expression "(iVar2 < 0xc)" (( "(") (binary_expression "iVar2 < 0xc" (identifier "iVar2") (< "<") (number_literal "0xc")) () ")")) (compound_statement "{\n      local_78 = (char *)FUN_00078b30();\n    }" ({ "{") (expression_statement "local_78 = (char *)FUN_00078b30();" (assignment_expression "local_78 = (char *)FUN_00078b30()" (identifier "local_78") (= "=") (cast_expression "(char *)FUN_00078b30()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      local_8c = FUN_00078b30();\n    }" (else "else") (compound_statement "{\n      local_8c = FUN_00078b30();\n    }" ({ "{") (expression_statement "local_8c = FUN_00078b30();" (assignment_expression "local_8c = FUN_00078b30()" (identifier "local_8c") (= "=") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))))) (} "}")) (else_clause "else if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" (else "else") (if_statement "if (iVar2 == 0xe) {\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }\n  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" (if "if") (parenthesized_expression "(iVar2 == 0xe)" (( "(") (binary_expression "iVar2 == 0xe" (identifier "iVar2") (== "==") (number_literal "0xe")) () ")")) (compound_statement "{\n    uVar12 = FUN_00078b30();\n    local_88 = FUN_00074050(uVar12,0);\n  }" ({ "{") (expression_statement "uVar12 = FUN_00078b30();" (assignment_expression "uVar12 = FUN_00078b30()" (identifier "uVar12") (= "=") (call_expression "FUN_00078b30()" (identifier "FUN_00078b30") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_88 = FUN_00074050(uVar12,0);" (assignment_expression "local_88 = FUN_00074050(uVar12,0)" (identifier "local_88") (= "=") (call_expression "FUN_00074050(uVar12,0)" (identifier "FUN_00074050") (argument_list "(uVar12,0)" (( "(") (identifier "uVar12") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}")) (else_clause "else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" (else "else") (if_statement "if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" (if "if") (parenthesized_expression "((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0))" (( "(") (binary_expression "(iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)" (parenthesized_expression "(iVar2 - 0x5ddU < 2)" (( "(") (binary_expression "iVar2 - 0x5ddU < 2" (binary_expression "iVar2 - 0x5ddU" (identifier "iVar2") (- "-") (number_literal "0x5ddU")) (< "<") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(iVar2 = FUN_00072560(iVar2), iVar2 == 0)" (( "(") (comma_expression "iVar2 = FUN_00072560(iVar2), iVar2 == 0" (assignment_expression "iVar2 = FUN_00072560(iVar2)" (identifier "iVar2") (= "=") (call_expression "FUN_00072560(iVar2)" (identifier "FUN_00072560") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (, ",") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    local_8c = 1;\n    iVar3 = 0;\n    local_84 = (CONF *)0x0;\n    goto LAB_0006aeb8;\n  }" ({ "{") (expression_statement "local_8c = 1;" (assignment_expression "local_8c = 1" (identifier "local_8c") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = (CONF *)0x0;" (assignment_expression "local_84 = (CONF *)0x0" (identifier "local_84") (= "=") (cast_expression "(CONF *)0x0" (( "(") (type_descriptor "CONF *" (type_identifier "CONF") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0006aeb8;" (goto "goto") (statement_identifier "LAB_0006aeb8") (; ";")) (} "}"))))))))) (goto_statement "goto LAB_0006abe0;" (goto "goto") (statement_identifier "LAB_0006abe0") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int function_1(int argc,char **argv)

{
  int var_53;
  char *var_45;
  int var_4;
  int var_10;
  type_1 *var_23;
  int var_26;
  type_2 *puVar6;
  char *engine;
  type_3 *value;
  int *var_46;
  char **extraout_ECX;
  int var_25;
  char *var_19;
  int var_1;
  bool bVar10;
  type_4 *puVar11;
  char *in_stack_ffffff64;
  int var_15;
  int var_9;
  char *var_12;
  type_5 *local_88;
  type_6 *var_13;
  char **var_7;
  char **var_8;
  char *var_28;
  char *var_40;
  int var_35;
  char **var_11;
  int var_36;
  char **var_32;
  char *passin;
  char *passout;
  char *var_38 [6];
  
  var_19 = (char *)0x0;
  var_53 = *(int *)(var_1 + 0x14);
  passin = (char *)0x0;
  passout = (char *)0x0;
  puVar11 = srp_options;
  var_45 = var_2(argc,argv,(type_7 *)srp_options);
  var_7 = (char **)0x0;
  var_8 = (char **)0x0;
  var_40 = (char *)0x0;
  var_28 = (char *)0x0;
  var_13 = (type_6 *)0x0;
  var_12 = (char *)0x0;
  var_9 = -1;
  var_15 = 0;
  local_88 = (type_5 *)0x0;
LAB_0006abe0:
  var_4 = var_3();
  if (var_4 != 0) goto LAB_0006abe9;
LAB_0006ac30:
  var_10 = var_5();
  var_11 = var_6();
  if ((var_7 != (char **)0x0) && (var_8 != (char **)0x0)) {
    var_19 = "-srpvfile and -configfile cannot be specified together.\n";
    var_45 = puVar11;
    goto LAB_0006aee4;
  }
  if (var_9 == -1) {
    var_19 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";
    goto LAB_0006b69b;
  }
  if (var_9 - 6U < 3) {
    if (var_10 == 0) {
      var_19 = "Need at least one user.\n";
      goto LAB_0006b69b;
    }
    var_32 = (char **)*var_11;
    var_11 = var_11 + 1;
  }
  else {
    var_32 = (char **)0x0;
  }
  if ((var_12 == (char *)0x0 && var_13 == (type_6 *)0x0) || (var_10 == 1)) {
    var_45 = (char *)&passin;
    var_10 = var_14(var_12,(char *)var_13,(char **)var_45,&passout);
    if (var_10 == 0) {
      var_19 = "Error getting passwords\n";
      goto LAB_0006aee4;
    }
    if (var_7 == (char **)0x0) {
      if (var_8 == (char **)0x0) {
        var_8 = (char **)default_config_file;
      }
      if (var_15 == 0) {
        var_13 = var_16((char *)var_8);
        if (var_13 == (type_6 *)0x0) {
          var_23 = (type_1 *)0x0;
          goto LAB_0006af12;
        }
      }
      else {
        var_45 = (char *)var_8;
        var_17((type_8 *)bio_err,"Using configuration from %s\n",var_8);
        var_13 = var_16((char *)var_8);
        if (var_13 == (type_6 *)0x0) {
          var_23 = (type_1 *)0x0;
          var_12 = (char *)0x1;
          goto LAB_0006b002;
        }
      }
      if (((char **)default_config_file == var_8) ||
         (var_10 = var_18(var_13), var_10 != 0)) {
        if (var_19 == (char *)0x0) {
          if (var_15 == 0) {
            var_19 = var_20((type_6 *)var_13,"srp","default_srp");
            if (var_19 != (char *)0x0) {
              var_21(var_13,"srp");
              goto LAB_0006b733;
            }
          }
          else {
            var_17((type_8 *)bio_err,"trying to read default_srp in srp\n",var_45);
            var_19 = var_20((type_6 *)var_13,"srp","default_srp");
            if (var_19 != (char *)0x0) {
              var_21(var_13,"srp");
              goto LAB_0006bd46;
            }
          }
          var_17((type_8 *)bio_err,"variable lookup failed for %s::%s\n","srp","default_srp");
          var_23 = (type_1 *)0x0;
        }
        else {
          var_21(var_13,"srp");
          if (var_15 == 0) {
LAB_0006b733:
            var_45 = "srpvfile";
            var_7 = (char **)var_20((type_6 *)var_13,var_19,"srpvfile");
            if (var_7 != (char **)0x0) goto LAB_0006acce;
          }
          else {
LAB_0006bd46:
            var_17((type_8 *)bio_err,"trying to read srpvfile in section \"%s\"\n",var_19);
            var_7 = (char **)var_20((type_6 *)var_13,var_19,"srpvfile");
            if (var_7 != (char **)0x0) goto LAB_0006b095;
          }
          var_23 = (type_1 *)0x0;
          var_17((type_8 *)bio_err,"variable lookup failed for %s::%s\n",var_19,"srpvfile");
        }
      }
      else {
        var_23 = (type_1 *)0x0;
      }
      goto LAB_0006aef8;
    }
    var_13 = (type_6 *)0x0;
    if (var_15 == 0) {
LAB_0006acce:
      var_23 = var_22((char *)var_7,(type_9 *)0x0);
      if (var_23 == (type_1 *)0x0) goto LAB_0006af12;
    }
    else {
LAB_0006b095:
      var_45 = (char *)var_7;
      var_17((type_8 *)bio_err,"Trying to read SRP verifier file \"%s\"\n",var_7);
      var_23 = var_22((char *)var_7,(type_9 *)0x0);
      if (var_23 == (type_1 *)0x0) goto LAB_0006b0c2;
    }
    var_10 = -1;
    var_12 = (char *)0xffffffff;
    for (var_25 = 0; var_26 = var_24(var_23->var_23->data), var_25 < var_26; var_25 = var_25 + 1) {
      puVar6 = (type_2 *)var_27(var_23->var_23->data,var_25);
      if (*(char *)*puVar6 == 'I') {
        if (((var_10 < 0) && (var_28 != (char *)0x0)) &&
           (var_26 = var_29(var_28,(char *)puVar6[3]), var_26 == 0)) {
          var_10 = var_25;
        }
        var_12 = (char *)var_25;
        if (1 < var_15) {
          var_30((type_1 *)&var_23->var_23,var_25,0x8fa03,in_stack_ffffff64);
        }
      }
    }
    if (var_15 == 0) {
      if (-1 < var_10) {
        var_36 = var_27(var_23->var_23->data,var_10);
        goto LAB_0006b10d;
      }
      if (((int)var_12 < 1) || (var_10 = var_31(var_28), var_10 != 0)) {
LAB_0006b105:
        var_36 = 0;
        goto LAB_0006b10d;
      }
LAB_0006bb9e:
      var_17((type_8 *)bio_err,"No g and N value for index \"%s\"\n",var_28,0);
      goto LAB_0006aef8;
    }
    var_17((type_8 *)bio_err,"Database initialised\n");
    if (var_10 < 0) {
      if ((0 < (int)var_12) && (var_10 = var_31(var_28), var_10 == 0))
      goto LAB_0006bb9e;
      var_17((type_8 *)bio_err,"Database has no g N information.\n");
      if (var_15 < 2) goto LAB_0006b105;
      var_36 = 0;
    }
    else {
      var_36 = var_27(var_23->var_23->data,var_10);
      if (var_15 == 1) goto LAB_0006b10d;
      var_30((type_1 *)&var_23->var_23,var_10,0x8fa48,in_stack_ffffff64);
    }
    var_17((type_8 *)bio_err,"Starting user processing\n");
LAB_0006b10d:
    var_12 = (char *)0x0;
    var_35 = 0;
    while ((var_32 != (char **)0x0 || (var_9 == 9))) {
      if ((1 < var_15) && (var_32 != (char **)0x0)) {
        var_45 = (char *)var_32;
        var_17((type_8 *)bio_err,"Processing user \"%s\"\n",var_32);
        var_10 = var_33(var_23,(char *)var_32,'U');
        if (-1 < var_10) {
LAB_0006b199:
          var_34(var_23,var_10,(int)in_stack_ffffff64);
          goto LAB_0006b1a4;
        }
        if (var_9 == 9) {
LAB_0006b5bd:
          var_17((type_8 *)bio_err,"user \"%s\" does not exist, ignored. t\n",var_32);
          var_35 = var_35 + 1;
          var_45 = (char *)var_32;
          goto LAB_0006b1bf;
        }
        if (var_9 != 6) goto LAB_0006b283;
LAB_0006b2d2:
        var_38[1] = (char *)0x0;
        var_38[2] = (char *)0x0;
        var_38[5] = (char *)0x0;
        if (var_36 == 0) {
          var_45 = (char *)0x0;
          var_19 = var_28;
        }
        else {
          var_45 = *(char **)(var_36 + 4);
          var_19 = *(char **)(var_36 + 8);
        }
        var_19 = var_37((char *)var_32,var_38 + 1,var_38 + 2,var_19,var_45,passout,var_15);
        if (var_19 == (char *)0x0) {
          var_17((type_8 *)bio_err,
                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",var_32)
          ;
          var_35 = var_35 + 1;
        }
        else {
          var_38[3] = var_39((char *)var_32,"../apps/srp.c",0x1be);
          var_38[0] = var_39("v","../apps/srp.c",0x1bf);
          var_45 = (char *)0x1c0;
          var_38[4] = var_39(var_19,"../apps/srp.c",0x1c0);
          if ((((var_38[4] != (char *)0x0) && (var_38[3] != (char *)0x0)) && (var_38[0] != (char *)0x0)) &&
             ((var_38[1] != (char *)0x0 && (var_38[2] != (char *)0x0)))) {
            if (var_40 != (char *)0x0) {
              var_45 = (char *)0x1c8;
              var_38[5] = var_39(var_40,"../apps/srp.c",0x1c8);
              if (var_38[5] == (char *)0x0) goto LAB_0006b979;
            }
            value = (type_3 *)var_41(0x1c,"row pointers");
            var_10 = 0;
            do {
              value[var_10] = var_38[var_10];
              var_10 = var_10 + 1;
            } while (var_10 != 6);
            value[6] = (type_3)0x0;
            var_10 = var_42((type_10 *)var_23->var_23,value);
            if (var_10 != 0) goto LAB_0006b430;
            var_17((type_8 *)bio_err,"failed to update srpvfile\n");
            var_17((type_8 *)bio_err,"TXT_DB error number %ld\n",var_23->var_23->error);
            var_43(value);
          }
LAB_0006b979:
          var_43(var_38[3]);
          var_43(var_38[4]);
          var_43(var_38[5]);
          var_43(var_38[0]);
          var_43(var_38[1]);
          var_43(var_38[2]);
        }
        goto LAB_0006b570;
      }
      var_10 = var_33(var_23,(char *)var_32,'U');
      if (-1 < var_10) {
        if ((0 < var_15) || (var_9 == 9)) goto LAB_0006b199;
        if (var_9 == 6) goto LAB_0006b445;
        if (var_9 != 8) goto LAB_0006b225;
LAB_0006b487:
        var_46 = (int *)var_27(var_23->var_23->data,var_10);
        if (*(char *)*var_46 == 'v') {
          var_45 = "user \"%s\" already updated, operation ignored.\n";
          goto LAB_0006b29c;
        }
        if (*(char *)*var_46 == 'V') {
          if (var_15 != 0) {
            var_17((type_8 *)bio_err,"Verifying password for user \"%s\"\n",var_32);
          }
          var_25 = var_33(var_23,(char *)var_46[4],'I');
          if ((var_25 < 0) || (var_10 = var_27(var_23->var_23->data,var_10), var_10 == 0)) {
            var_19 = (char *)0x0;
            var_45 = (char *)var_46[4];
          }
          else {
            var_19 = *(char **)(var_10 + 4);
            var_45 = *(char **)(var_10 + 8);
          }
          var_45 = var_44((char *)var_32,(char *)var_46[1],(char *)var_46[2],var_45,
                                   var_19,passin,var_15);
          if (var_45 != (char *)0x0) goto LAB_0006b4b6;
          var_45 = "Invalid password for user \"%s\", operation abandoned.\n";
        }
        else {
LAB_0006b4b6:
          if (var_15 != 0) {
            var_17((type_8 *)bio_err,"Password for user \"%s\" ok.\n",var_32);
          }
          if (var_36 == 0) {
            var_12 = (char *)0x0;
            var_45 = (char *)0x0;
          }
          else {
            var_12 = *(char **)(var_36 + 4);
            var_45 = *(char **)(var_36 + 8);
          }
          var_19 = var_37((char *)var_32,(char **)(var_46 + 1),(char **)(var_46 + 2),
                                   var_45,var_12,passout,var_15);
          if (var_19 != (char *)0x0) {
            *(type_4 *)*var_46 = 0x76;
            var_45 = (char *)0x213;
            var_19 = var_39(var_19,"../apps/srp.c",0x213);
            var_46[4] = (int)var_19;
            if ((((var_46[3] != 0) && (var_19 != (char *)0x0)) && (*var_46 != 0)) &&
               ((var_46[1] != 0 && (var_46[2] != 0)))) {
              if (var_40 != (char *)0x0) {
                var_45 = (char *)0x21b;
                var_19 = var_39(var_40,"../apps/srp.c",0x21b);
                var_46[5] = (int)var_19;
                if (var_19 == (char *)0x0) goto LAB_0006b570;
              }
LAB_0006b430:
              var_12 = (char *)0x1;
              goto LAB_0006b1bf;
            }
LAB_0006b570:
            var_12 = (char *)0x1;
            goto LAB_0006b578;
          }
          var_45 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";
          var_11 = extraout_ECX;
        }
        var_17((type_8 *)bio_err,var_45,var_32,var_11);
        var_35 = var_35 + 1;
        if (var_15 != 0) {
          var_12 = (char *)0x1;
          goto LAB_0006b596;
        }
        goto LAB_0006af12;
      }
LAB_0006b1a4:
      if (var_9 == 9) {
        if (var_32 == (char **)0x0) {
          var_17((type_8 *)bio_err,"List all users\n");
          for (var_10 = 0; var_25 = var_24(var_23->var_23->data), var_10 < var_25; var_10 = var_10 + 1) {
            var_34(var_23,var_10,(int)in_stack_ffffff64);
          }
        }
        else if (var_10 < 0) goto LAB_0006b5bd;
      }
      else if (var_9 == 6) {
        if (var_10 < 0) goto LAB_0006b2d2;
LAB_0006b445:
        puVar6 = (type_2 *)var_27(var_23->var_23->data,var_10);
        var_17((type_8 *)bio_err,"user \"%s\" reactivated.\n",var_32);
        var_12 = (char *)0x1;
        *(type_4 *)*puVar6 = 0x56;
        var_45 = (char *)var_32;
      }
      else {
LAB_0006b283:
        if (var_9 == 8) {
          if (-1 < var_10) goto LAB_0006b487;
          var_45 = "user \"%s\" does not exist, operation ignored.\n";
LAB_0006b29c:
          var_17((type_8 *)bio_err,var_45,var_32);
          var_35 = var_35 + 1;
          var_45 = (char *)var_32;
        }
        else {
LAB_0006b225:
          if (var_9 == 7) {
            if (var_10 < 0) {
              var_17((type_8 *)bio_err,"user \"%s\" does not exist, operation ignored. t\n",
                         var_32);
              var_35 = var_35 + 1;
              var_45 = (char *)var_32;
            }
            else {
              puVar6 = (type_2 *)var_27(var_23->var_23->data,var_10);
              var_17((type_8 *)bio_err,"user \"%s\" revoked. t\n",var_32);
              var_12 = (char *)0x1;
              *(type_4 *)*puVar6 = 0x52;
              var_45 = (char *)var_32;
            }
          }
        }
      }
LAB_0006b1bf:
      var_32 = (char **)*var_11;
      var_11 = var_11 + 1;
      if (var_32 == (char **)0x0) break;
    }
    if (var_15 != 0) {
      var_17((type_8 *)bio_err,"User procession done.\n",var_45);
    }
    if (var_12 != (char *)0x0) {
      for (; var_10 = var_24(var_23->var_23->data), var_4 < var_10; var_4 = var_4 + 1) {
        puVar6 = (type_2 *)var_27(var_23->var_23->data,var_4);
        if ((*(char *)*puVar6 == 'v') && (*(char *)*puVar6 = 'V', var_15 != 0)) {
          var_34(var_23,var_4,(int)in_stack_ffffff64);
        }
      }
      if (var_15 != 0) {
        var_17((type_8 *)bio_err,"Trying to update srpvfile.\n");
        var_4 = var_47((char *)var_7,"new",var_23);
        if (var_4 != 0) {
          var_17((type_8 *)bio_err,"Temporary srpvfile created.\n");
          var_4 = var_48((char *)var_7,"new","old");
          if (var_4 != 0) {
            var_17((type_8 *)bio_err,"srpvfile updated.\n");
            goto LAB_0006b7f8;
          }
        }
        if (var_35 != 0) goto LAB_0006b596;
        goto LAB_0006b002;
      }
      var_4 = var_47((char *)var_7,"new",var_23);
      if ((var_4 != 0) && (var_4 = var_48((char *)var_7,"new","old"), var_4 != 0))
      goto LAB_0006b7f8;
      var_43(passin);
      var_43(passout);
      goto LAB_0006b057;
    }
LAB_0006b7f8:
    var_12 = (char *)(type_11)(var_35 != 0);
LAB_0006b578:
    if (var_35 != 0) {
      if (var_15 != 0) {
LAB_0006b596:
        var_17((type_8 *)bio_err,"User errors %d.\n",var_35);
        goto LAB_0006b002;
      }
      goto LAB_0006b01a;
    }
LAB_0006aeb8:
    if (var_15 == 0) goto LAB_0006b01a;
    goto LAB_0006b002;
  }
  var_19 = "-passin, -passout arguments only valid with one user.\n";
LAB_0006b69b:
  var_17((type_8 *)bio_err,var_19,puVar11);
LAB_0006aed6:
  var_19 = "%s: Use -help for summary.\n";
LAB_0006aee4:
  var_23 = (type_1 *)0x0;
  var_17((type_8 *)bio_err,var_19,var_45);
  var_13 = (type_6 *)0x0;
LAB_0006aef8:
  if (var_15 == 0) {
LAB_0006af12:
    var_43(passin);
    var_43(passout);
  }
  else {
LAB_0006b0c2:
    var_12 = (char *)0x1;
LAB_0006b002:
    var_17((type_8 *)bio_err,"SRP terminating with code %d.\n",var_12);
LAB_0006b01a:
    var_43(passin);
    var_43(passout);
    if (var_12 == (char *)0x0) goto LAB_0006ae29;
  }
LAB_0006b057:
  var_49((type_8 *)bio_err);
  var_12 = (char *)0x1;
LAB_0006ae29:
  var_50((type_6 *)var_13);
  var_51(var_23);
  var_52(local_88);
  if (var_53 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_54();
  }
  return (type_11)var_12;
LAB_0006abe9:
  while (var_4 < 10) {
    if (5 < var_4) {
      bVar10 = var_9 == -1;
      var_9 = var_4;
      if (bVar10) goto LAB_0006abe0;
      var_19 = "%s: Only one of -add/-delete/-modify/-list\n";
      puVar11 = var_45;
      goto LAB_0006b69b;
    }
    if (var_4 == 2) {
      var_15 = var_15 + 1;
      goto LAB_0006abe0;
    }
    if (var_4 < 3) {
      if (var_4 == -1) goto LAB_0006aed6;
      if (var_4 != 1) goto LAB_0006abe0;
      var_55((type_7 *)srp_options);
      if (var_15 != 0) {
        var_12 = (char *)0x0;
        var_23 = (type_1 *)0x0;
        var_13 = (type_6 *)0x0;
        goto LAB_0006b002;
      }
      var_23 = (type_1 *)0x0;
      var_43(passin);
      var_43(passout);
      var_12 = (char *)0x0;
      var_13 = (type_6 *)0x0;
      goto LAB_0006ae29;
    }
    if (var_4 == 4) {
      var_19 = var_56();
      goto LAB_0006abe0;
    }
    if (4 < var_4) {
      var_7 = (char **)var_56();
      goto LAB_0006abe0;
    }
    var_8 = (char **)var_56();
    var_4 = var_3();
    if (var_4 == 0) {
      var_4 = 0;
      goto LAB_0006ac30;
    }
  }
  if (var_4 == 0xd) {
    var_13 = (type_6 *)var_56();
  }
  else if (var_4 < 0xe) {
    if (var_4 == 0xb) {
      var_40 = var_56();
    }
    else if (var_4 < 0xc) {
      var_28 = var_56();
    }
    else {
      var_12 = var_56();
    }
  }
  else if (var_4 == 0xe) {
    engine = var_56();
    local_88 = var_57(engine,0);
  }
  else if ((var_4 - 0x5ddU < 2) && (var_4 = var_58(var_4), var_4 == 0)) {
    var_12 = (char *)0x1;
    var_23 = (type_1 *)0x0;
    var_13 = (type_6 *)0x0;
    goto LAB_0006aeb8;
  }
  goto LAB_0006abe0;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content))))) (goto_statement label: (statement_identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (string_literal (string_content)) (string_literal (string_content))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (escape_sequence)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (string_literal (string_content))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier) (string_literal (string_content))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (escape_sequence)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) right: (binary_expression left: (identifier) right: (identifier))) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (identifier))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (escape_sequence)) (identifier) (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (escape_sequence)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) (string_literal (string_content)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (escape_sequence)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence)) (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence))))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) right: (binary_expression left: (identifier) right: (identifier))) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (identifier))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence) (string_content) (escape_sequence)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))))))))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (break_statement)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (for_statement condition: (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) right: (binary_expression left: (identifier) right: (identifier))) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (char_literal (character)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (char_literal (character))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence))))) (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (string_literal (string_content))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (return_statement (identifier)) (labeled_statement label: (statement_identifier) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (call_expression function: (identifier) arguments: (argument_list))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))))))))) (goto_statement label: (statement_identifier)))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

uint MASKED(undefined4 param_1,undefined4 param_2)

{
  char *pcVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  undefined4 *puVar5;
  OPENSSL_STRING *value;
  int *piVar6;
  undefined4 *extraout_ECX;
  int iVar7;
  int iVar8;
  char *pcVar9;
  int in_GS_OFFSET;
  bool bVar10;
  undefined **ppuVar11;
  undefined4 uVar12;
  int local_94;
  int local_90;
  uint local_8c;
  undefined4 local_88;
  CONF *local_84;
  undefined **local_80;
  undefined **local_7c;
  char *local_78;
  char *local_74;
  int local_68;
  undefined4 *local_64;
  int local_60;
  undefined **local_5c;
  undefined *local_40;
  void *local_3c;
  char *local_38;
  void *local_34;
  void *local_30;
  char *local_2c;
  char *local_28;
  char *local_24;
  int local_20;
  undefined4 uStack_14;
  
  pcVar9 = (char *)0x0;
  uStack_14 = 0x6ab4b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_40 = (undefined *)0x0;
  local_3c = (void *)0x0;
  ppuVar11 = &PTR_DAT_000ba060;
  pcVar1 = (char *)FUN_00077e50(param_1,param_2,&PTR_DAT_000ba060);
  local_80 = (undefined **)0x0;
  local_7c = (undefined **)0x0;
  local_74 = (char *)0x0;
  local_78 = (char *)0x0;
  local_84 = (CONF *)0x0;
  local_8c = 0;
  local_90 = -1;
  local_94 = 0;
  local_88 = 0;
LAB_0006abe0:
  iVar2 = FUN_00078780();
  if (iVar2 != 0) goto LAB_0006abe9;
LAB_0006ac30:
  iVar3 = FUN_00079110();
  local_64 = (undefined4 *)FUN_000790f0();
  if ((local_80 != (undefined **)0x0) && (local_7c != (undefined **)0x0)) {
    pcVar9 = "-srpvfile and -configfile cannot be specified together.\n";
    pcVar1 = (char *)ppuVar11;
    goto LAB_0006aee4;
  }
  if (local_90 == -1) {
    pcVar9 = "Exactly one of the options -add, -delete, -modify -list must be specified.\n";
    goto LAB_0006b69b;
  }
  if (local_90 - 6U < 3) {
    if (iVar3 == 0) {
      pcVar9 = "Need at least one user.\n";
      goto LAB_0006b69b;
    }
    local_5c = (undefined **)*local_64;
    local_64 = local_64 + 1;
  }
  else {
    local_5c = (undefined **)0x0;
  }
  if ((local_8c == 0 && local_84 == (CONF *)0x0) || (iVar3 == 1)) {
    pcVar1 = (char *)&local_40;
    iVar3 = FUN_00075b40(local_8c,local_84,pcVar1,&local_3c);
    if (iVar3 == 0) {
      pcVar9 = "Error getting passwords\n";
      goto LAB_0006aee4;
    }
    if (local_80 == (undefined **)0x0) {
      if (local_7c == (undefined **)0x0) {
        local_7c = DAT_000c4598;
      }
      if (local_94 == 0) {
        local_84 = (CONF *)FUN_00075fc0(local_7c);
        if (local_84 == (CONF *)0x0) {
          iVar3 = 0;
          goto LAB_0006af12;
        }
      }
      else {
        pcVar1 = (char *)local_7c;
        BIO_printf(DAT_000c458c,"Using configuration from %s\n",local_7c);
        local_84 = (CONF *)FUN_00075fc0(local_7c);
        if (local_84 == (CONF *)0x0) {
          iVar3 = 0;
          local_8c = 1;
          goto LAB_0006b002;
        }
      }
      if ((DAT_000c4598 == local_7c) || (iVar3 = FUN_000770d0(local_84), iVar3 != 0)) {
        if (pcVar9 == (char *)0x0) {
          if (local_94 == 0) {
            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");
            if (pcVar9 != (char *)0x0) {
              FUN_00072430(local_84,"srp");
              goto LAB_0006b733;
            }
          }
          else {
            BIO_printf(DAT_000c458c,"trying to read default_srp in srp\n",pcVar1);
            pcVar9 = NCONF_get_string(local_84,"srp","default_srp");
            if (pcVar9 != (char *)0x0) {
              FUN_00072430(local_84,"srp");
              goto LAB_0006bd46;
            }
          }
          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n","srp","default_srp");
          iVar3 = 0;
        }
        else {
          FUN_00072430(local_84,"srp");
          if (local_94 == 0) {
LAB_0006b733:
            pcVar1 = "srpvfile";
            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");
            if (local_80 != (undefined **)0x0) goto LAB_0006acce;
          }
          else {
LAB_0006bd46:
            BIO_printf(DAT_000c458c,"trying to read srpvfile in section \"%s\"\n",pcVar9);
            local_80 = (undefined **)NCONF_get_string(local_84,pcVar9,"srpvfile");
            if (local_80 != (undefined **)0x0) goto LAB_0006b095;
          }
          iVar3 = 0;
          BIO_printf(DAT_000c458c,"variable lookup failed for %s::%s\n",pcVar9,"srpvfile");
        }
      }
      else {
        iVar3 = 0;
      }
      goto LAB_0006aef8;
    }
    local_84 = (CONF *)0x0;
    if (local_94 == 0) {
LAB_0006acce:
      iVar3 = FUN_00077180(local_80,0);
      if (iVar3 == 0) goto LAB_0006af12;
    }
    else {
LAB_0006b095:
      pcVar1 = (char *)local_80;
      BIO_printf(DAT_000c458c,"Trying to read SRP verifier file \"%s\"\n",local_80);
      iVar3 = FUN_00077180(local_80,0);
      if (iVar3 == 0) goto LAB_0006b0c2;
    }
    iVar7 = -1;
    local_8c = -1;
    for (iVar8 = 0; iVar4 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar8 < iVar4;
        iVar8 = iVar8 + 1) {
      puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar8);
      if (*(char *)*puVar5 == 'I') {
        if (((iVar7 < 0) && (local_78 != (char *)0x0)) &&
           (iVar4 = strcmp(local_78,(char *)puVar5[3]), iVar4 == 0)) {
          iVar7 = iVar8;
        }
        local_8c = iVar8;
        if (1 < local_94) {
          FUN_0006a970();
        }
      }
    }
    if (local_94 == 0) {
      if (-1 < iVar7) {
        local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);
        goto LAB_0006b10d;
      }
      if (((int)local_8c < 1) || (iVar7 = SRP_get_default_gN(local_78), iVar7 != 0)) {
LAB_0006b105:
        local_60 = 0;
        goto LAB_0006b10d;
      }
LAB_0006bb9e:
      BIO_printf(DAT_000c458c,"No g and N value for index \"%s\"\n",local_78,0);
      goto LAB_0006aef8;
    }
    BIO_printf(DAT_000c458c,"Database initialised\n");
    if (iVar7 < 0) {
      if ((0 < (int)local_8c) && (iVar7 = SRP_get_default_gN(local_78), iVar7 == 0))
      goto LAB_0006bb9e;
      BIO_printf(DAT_000c458c,"Database has no g N information.\n");
      if (local_94 < 2) goto LAB_0006b105;
      local_60 = 0;
    }
    else {
      local_60 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);
      if (local_94 == 1) goto LAB_0006b10d;
      FUN_0006a970();
    }
    BIO_printf(DAT_000c458c,"Starting user processing\n");
LAB_0006b10d:
    local_7c = (undefined **)0x8f9d4;
    local_8c = 0;
    local_68 = 0;
    while ((local_5c != (undefined **)0x0 || (local_90 == 9))) {
      if ((1 < local_94) && (local_5c != (undefined **)0x0)) {
        pcVar1 = (char *)local_5c;
        BIO_printf(DAT_000c458c,"Processing user \"%s\"\n",local_5c);
        iVar7 = FUN_0006a9f0();
        if (-1 < iVar7) {
LAB_0006b199:
          FUN_0006aac0();
          goto LAB_0006b1a4;
        }
        if (local_90 == 9) {
LAB_0006b5bd:
          BIO_printf(DAT_000c458c,"user \"%s\" does not exist, ignored. t\n",local_5c);
          local_68 = local_68 + 1;
          pcVar1 = (char *)local_5c;
          goto LAB_0006b1bf;
        }
        if (local_90 != 6) goto LAB_0006b283;
LAB_0006b2d2:
        local_34 = (void *)0x0;
        local_30 = (void *)0x0;
        local_24 = (char *)0x0;
        if (local_60 == 0) {
          uVar12 = 0;
          pcVar1 = local_78;
        }
        else {
          uVar12 = *(undefined4 *)(local_60 + 4);
          pcVar1 = *(char **)(local_60 + 8);
        }
        pcVar9 = (char *)FUN_0006a7e0(pcVar1,uVar12,local_3c,local_94);
        if (pcVar9 == (char *)0x0) {
          BIO_printf(DAT_000c458c,
                     "Cannot create srp verifier for user \"%s\", operation abandoned .\n",local_5c)
          ;
          local_68 = local_68 + 1;
        }
        else {
          local_2c = CRYPTO_strdup((char *)local_5c,"../apps/srp.c",0x1be);
          local_38 = CRYPTO_strdup("v","../apps/srp.c",0x1bf);
          pcVar1 = (char *)0x1c0;
          local_28 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x1c0);
          if ((((local_28 != (char *)0x0) && (local_2c != (char *)0x0)) && (local_38 != (char *)0x0)
              ) && ((local_34 != (void *)0x0 && (local_30 != (void *)0x0)))) {
            if (local_74 != (char *)0x0) {
              pcVar1 = (char *)0x1c8;
              local_24 = CRYPTO_strdup(local_74,"../apps/srp.c",0x1c8);
              if (local_24 == (char *)0x0) goto LAB_0006b979;
            }
            value = (OPENSSL_STRING *)FUN_00073440(0x1c,"row pointers");
            iVar7 = 0;
            do {
              value[iVar7] = (&local_38)[iVar7];
              iVar7 = iVar7 + 1;
            } while (iVar7 != 6);
            value[6] = (OPENSSL_STRING)0x0;
            iVar7 = TXT_DB_insert(*(TXT_DB **)(iVar3 + 4),value);
            if (iVar7 != 0) goto LAB_0006b430;
            BIO_printf(DAT_000c458c,"failed to update srpvfile\n");
            BIO_printf(DAT_000c458c,"TXT_DB error number %ld\n",
                       *(undefined4 *)(*(int *)(iVar3 + 4) + 0x10));
            CRYPTO_free(value);
          }
LAB_0006b979:
          CRYPTO_free(local_2c);
          CRYPTO_free(local_28);
          CRYPTO_free(local_24);
          CRYPTO_free(local_38);
          CRYPTO_free(local_34);
          CRYPTO_free(local_30);
        }
        goto LAB_0006b570;
      }
      iVar7 = FUN_0006a9f0();
      if (-1 < iVar7) {
        if ((0 < local_94) || (local_90 == 9)) goto LAB_0006b199;
        if (local_90 == 6) goto LAB_0006b445;
        if (local_90 != 8) goto LAB_0006b225;
LAB_0006b487:
        piVar6 = (int *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);
        if (*(char *)*piVar6 == 'v') {
          pcVar1 = "user \"%s\" already updated, operation ignored.\n";
          goto LAB_0006b29c;
        }
        if (*(char *)*piVar6 == 'V') {
          if (local_94 != 0) {
            BIO_printf(DAT_000c458c,"Verifying password for user \"%s\"\n",local_5c);
          }
          iVar8 = FUN_0006a9f0();
          if ((iVar8 < 0) ||
             (iVar7 = OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7), iVar7 == 0))
          {
            uVar12 = 0;
            iVar7 = piVar6[4];
          }
          else {
            uVar12 = *(undefined4 *)(iVar7 + 4);
            iVar7 = *(int *)(iVar7 + 8);
          }
          iVar7 = FUN_0006a5f0(iVar7,uVar12,local_40,local_94);
          if (iVar7 != 0) goto LAB_0006b4b6;
          pcVar1 = "Invalid password for user \"%s\", operation abandoned.\n";
        }
        else {
LAB_0006b4b6:
          if (local_94 != 0) {
            BIO_printf(DAT_000c458c,"Password for user \"%s\" ok.\n",local_5c);
          }
          if (local_60 == 0) {
            local_8c = 0;
            uVar12 = 0;
          }
          else {
            local_8c = *(undefined4 *)(local_60 + 4);
            uVar12 = *(undefined4 *)(local_60 + 8);
          }
          pcVar9 = (char *)FUN_0006a7e0(uVar12,local_8c,local_3c,local_94);
          if (pcVar9 != (char *)0x0) {
            *(undefined1 *)*piVar6 = 0x76;
            pcVar1 = (char *)0x213;
            pcVar9 = CRYPTO_strdup(pcVar9,"../apps/srp.c",0x213);
            piVar6[4] = (int)pcVar9;
            if ((((piVar6[3] != 0) && (pcVar9 != (char *)0x0)) && (*piVar6 != 0)) &&
               ((piVar6[1] != 0 && (piVar6[2] != 0)))) {
              if (local_74 != (char *)0x0) {
                pcVar1 = (char *)0x21b;
                pcVar9 = CRYPTO_strdup(local_74,"../apps/srp.c",0x21b);
                piVar6[5] = (int)pcVar9;
                if (pcVar9 == (char *)0x0) goto LAB_0006b570;
              }
LAB_0006b430:
              local_8c = 1;
              goto LAB_0006b1bf;
            }
LAB_0006b570:
            local_8c = 1;
            goto LAB_0006b578;
          }
          pcVar1 = "Cannot create srp verifier for user \"%s\", operation abandoned.\n";
          local_64 = extraout_ECX;
        }
        BIO_printf(DAT_000c458c,pcVar1,local_5c,local_64);
        local_68 = local_68 + 1;
        if (local_94 != 0) {
          local_8c = 1;
          goto LAB_0006b596;
        }
        goto LAB_0006af12;
      }
LAB_0006b1a4:
      if (local_90 == 9) {
        if (local_5c == (undefined **)0x0) {
          BIO_printf(DAT_000c458c,"List all users\n");
          for (iVar7 = 0; iVar8 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)),
              iVar7 < iVar8; iVar7 = iVar7 + 1) {
            FUN_0006aac0();
          }
        }
        else if (iVar7 < 0) goto LAB_0006b5bd;
      }
      else if (local_90 == 6) {
        if (iVar7 < 0) goto LAB_0006b2d2;
LAB_0006b445:
        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);
        BIO_printf(DAT_000c458c,"user \"%s\" reactivated.\n",local_5c);
        local_8c = 1;
        *(undefined1 *)*puVar5 = 0x56;
        pcVar1 = (char *)local_5c;
      }
      else {
LAB_0006b283:
        if (local_90 == 8) {
          if (-1 < iVar7) goto LAB_0006b487;
          pcVar1 = "user \"%s\" does not exist, operation ignored.\n";
LAB_0006b29c:
          BIO_printf(DAT_000c458c,pcVar1,local_5c);
          local_68 = local_68 + 1;
          pcVar1 = (char *)local_5c;
        }
        else {
LAB_0006b225:
          if (local_90 == 7) {
            if (iVar7 < 0) {
              BIO_printf(DAT_000c458c,"user \"%s\" does not exist, operation ignored. t\n",local_5c)
              ;
              local_68 = local_68 + 1;
              pcVar1 = (char *)local_5c;
            }
            else {
              puVar5 = (undefined4 *)
                       OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar7);
              BIO_printf(DAT_000c458c,"user \"%s\" revoked. t\n",local_5c);
              local_8c = 1;
              *(undefined1 *)*puVar5 = 0x52;
              pcVar1 = (char *)local_5c;
            }
          }
        }
      }
LAB_0006b1bf:
      local_5c = (undefined **)*local_64;
      local_64 = local_64 + 1;
      if (local_5c == (undefined **)0x0) break;
    }
    if (local_94 != 0) {
      BIO_printf(DAT_000c458c,"User procession done.\n",pcVar1);
    }
    if (local_8c != 0) {
      for (; iVar7 = OPENSSL_sk_num(*(undefined4 *)(*(int *)(iVar3 + 4) + 4)), iVar2 < iVar7;
          iVar2 = iVar2 + 1) {
        puVar5 = (undefined4 *)OPENSSL_sk_value(*(undefined4 *)(*(int *)(iVar3 + 4) + 4),iVar2);
        if ((*(char *)*puVar5 == 'v') && (*(char *)*puVar5 = 'V', local_94 != 0)) {
          FUN_0006aac0();
        }
      }
      if (local_94 != 0) {
        BIO_printf(DAT_000c458c,"Trying to update srpvfile.\n");
        iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);
        if (iVar2 != 0) {
          BIO_printf(DAT_000c458c,"Temporary srpvfile created.\n");
          iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old");
          if (iVar2 != 0) {
            BIO_printf(DAT_000c458c,"srpvfile updated.\n");
            goto LAB_0006b7f8;
          }
        }
        if (local_68 != 0) goto LAB_0006b596;
        goto LAB_0006b002;
      }
      iVar2 = FUN_00074980(local_80,&DAT_0007e978,iVar3);
      if ((iVar2 != 0) && (iVar2 = FUN_00074b50(local_80,&DAT_0007e978,"old"), iVar2 != 0))
      goto LAB_0006b7f8;
      CRYPTO_free(local_40);
      uVar12 = 0x25d;
      CRYPTO_free(local_3c);
      goto LAB_0006b057;
    }
LAB_0006b7f8:
    local_8c = (uint)(local_68 != 0);
LAB_0006b578:
    if (local_68 != 0) {
      if (local_94 != 0) {
LAB_0006b596:
        BIO_printf(DAT_000c458c,"User errors %d.\n",local_68);
        goto LAB_0006b002;
      }
      goto LAB_0006b01a;
    }
LAB_0006aeb8:
    if (local_94 == 0) goto LAB_0006b01a;
    goto LAB_0006b002;
  }
  pcVar9 = "-passin, -passout arguments only valid with one user.\n";
LAB_0006b69b:
  BIO_printf(DAT_000c458c,pcVar9,ppuVar11);
LAB_0006aed6:
  pcVar9 = "%s: Use -help for summary.\n";
LAB_0006aee4:
  iVar3 = 0;
  BIO_printf(DAT_000c458c,pcVar9,pcVar1);
  local_84 = (CONF *)0x0;
LAB_0006aef8:
  if (local_94 == 0) {
LAB_0006af12:
    local_7c = (undefined **)0x8f9d4;
    CRYPTO_free(local_40);
    uVar12 = 0x25d;
    CRYPTO_free(local_3c);
  }
  else {
LAB_0006b0c2:
    local_8c = 1;
LAB_0006b002:
    BIO_printf(DAT_000c458c,"SRP terminating with code %d.\n",local_8c);
LAB_0006b01a:
    local_7c = (undefined **)0x8f9d4;
    CRYPTO_free(local_40);
    uVar12 = 0x25d;
    CRYPTO_free(local_3c);
    if (local_8c == 0) goto LAB_0006ae29;
  }
LAB_0006b057:
  ERR_print_errors(DAT_000c458c);
  local_8c = 1;
LAB_0006ae29:
  NCONF_free(local_84);
  FUN_00074e20(iVar3,local_7c,uVar12);
  FUN_00074230(local_88);
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0007d010();
  }
  return local_8c;
LAB_0006abe9:
  while (iVar2 < 10) {
    if (5 < iVar2) {
      bVar10 = local_90 == -1;
      local_90 = iVar2;
      if (bVar10) goto LAB_0006abe0;
      pcVar9 = "%s: Only one of -add/-delete/-modify/-list\n";
      ppuVar11 = (undefined **)pcVar1;
      goto LAB_0006b69b;
    }
    if (iVar2 == 2) {
      local_94 = local_94 + 1;
      goto LAB_0006abe0;
    }
    if (iVar2 < 3) {
      if (iVar2 == -1) goto LAB_0006aed6;
      if (iVar2 != 1) goto LAB_0006abe0;
      FUN_00079140(&PTR_DAT_000ba060);
      if (local_94 != 0) {
        local_8c = 0;
        iVar3 = 0;
        local_84 = (CONF *)0x0;
        goto LAB_0006b002;
      }
      local_7c = (undefined **)0x8f9d4;
      iVar3 = 0;
      CRYPTO_free(local_40);
      uVar12 = 0x25d;
      CRYPTO_free(local_3c);
      local_8c = 0;
      local_84 = (CONF *)0x0;
      goto LAB_0006ae29;
    }
    if (iVar2 == 4) {
      pcVar9 = (char *)FUN_00078b30();
      goto LAB_0006abe0;
    }
    if (4 < iVar2) {
      local_80 = (undefined **)FUN_00078b30();
      goto LAB_0006abe0;
    }
    local_7c = (undefined **)FUN_00078b30();
    iVar2 = FUN_00078780();
    if (iVar2 == 0) {
      iVar2 = 0;
      goto LAB_0006ac30;
    }
  }
  if (iVar2 == 0xd) {
    local_84 = (CONF *)FUN_00078b30();
  }
  else if (iVar2 < 0xe) {
    if (iVar2 == 0xb) {
      local_74 = (char *)FUN_00078b30();
    }
    else if (iVar2 < 0xc) {
      local_78 = (char *)FUN_00078b30();
    }
    else {
      local_8c = FUN_00078b30();
    }
  }
  else if (iVar2 == 0xe) {
    uVar12 = FUN_00078b30();
    local_88 = FUN_00074050(uVar12,0);
  }
  else if ((iVar2 - 0x5ddU < 2) && (iVar2 = FUN_00072560(iVar2), iVar2 == 0)) {
    local_8c = 1;
    iVar3 = 0;
    local_84 = (CONF *)0x0;
    goto LAB_0006aeb8;
  }
  goto LAB_0006abe0;
}

