
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */
/* WARNING: Enum "gnutls_pk_algorithm_t": Some values do not have unique names */
/* WARNING: Enum "gnutls_certificate_type_t": Some values do not have unique names */

int __regparm3 parse_options_va(MHD_Daemon *daemon,sockaddr **servaddr,va_list ap)

{
  int iVar1;
  uchar *__s;
  uint uVar2;
  char *format;
  int iVar3;
  uint *puVar4;
  int *piVar5;
  int in_GS_OFFSET;
  int iVar6;
  int iVar7;
  undefined4 uVar8;
  gnutls_datum_t dhpar;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
LAB_00019ec0:
  uVar2 = *(uint *)ap;
  puVar4 = (uint *)ap;
  if (uVar2 != 0) {
LAB_00019ec6:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
    switch(uVar2) {
    case 1:
      goto _L378;
    case 2:
      ap = (va_list)(puVar4 + 2);
      daemon->connection_limit = puVar4[1];
      goto LAB_00019ec0;
    case 3:
      ap = (va_list)(puVar4 + 2);
      if ((int)puVar4[1] < 0) {
        MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");
        daemon->connection_timeout = 0;
      }
      else {
        daemon->connection_timeout = puVar4[1];
      }
      goto LAB_00019ec0;
    case 4:
      ap = (va_list)(puVar4 + 3);
      daemon->notify_completed = (MHD_RequestCompletedCallback)puVar4[1];
      daemon->notify_completed_cls = (void *)puVar4[2];
      goto LAB_00019ec0;
    case 5:
      ap = (va_list)(puVar4 + 2);
      daemon->per_ip_connection_limit = puVar4[1];
      goto LAB_00019ec0;
    case 6:
      ap = (va_list)(puVar4 + 2);
      *servaddr = (sockaddr *)puVar4[1];
      goto LAB_00019ec0;
    case 7:
      ap = (va_list)(puVar4 + 3);
      daemon->uri_log_callback = (LogCallback)puVar4[1];
      daemon->uri_log_callback_cls = (void *)puVar4[2];
      goto LAB_00019ec0;
    case 8:
      ap = (va_list)(puVar4 + 2);
      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {
        daemon->https_mem_key = (char *)puVar4[1];
        goto LAB_00019ec0;
      }
      uVar8 = 8;
      break;
    case 9:
      ap = (va_list)(puVar4 + 2);
      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {
        daemon->https_mem_cert = (char *)puVar4[1];
        goto LAB_00019ec0;
      }
      uVar8 = 9;
      break;
    case 10:
      ap = (va_list)(puVar4 + 2);
      daemon->cred_type = puVar4[1];
      goto LAB_00019ec0;
    case 0xb:
      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {
        uVar2 = puVar4[1];
        gnutls_priority_deinit(daemon->priority_cache);
        iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);
        if (iVar3 == 0) goto LAB_00019f2e;
        uVar8 = gnutls_strerror(iVar3);
        MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);
        iVar3 = 0;
        daemon->priority_cache = (gnutls_priority_t)0x0;
        goto LAB_0001a402;
      }
      uVar8 = 0xb;
      break;
    case 0xc:
      if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {
        format = 
        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";
        goto LAB_0001a3c9;
      }
      ap = (va_list)(puVar4 + 2);
      daemon->listen_fd = puVar4[1];
      goto LAB_00019ec0;
    case 0xd:
      ap = (va_list)(puVar4 + 3);
      daemon->custom_error_log = (_func_void_void_ptr_char_ptr_va_list *)puVar4[1];
      daemon->custom_error_log_cls = (void *)puVar4[2];
      goto LAB_00019ec0;
    case 0xe:
      uVar2 = puVar4[1];
      ap = (va_list)(puVar4 + 2);
      daemon->worker_pool_size = uVar2;
      if (uVar2 == 0) {
        MHD_DLOG(daemon,
                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"
                );
      }
      else {
        if (uVar2 != 1) {
          if (uVar2 < 0xb02c0b) {
            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {
              format = 
              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"
              ;
            }
            else {
              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)
              goto LAB_00019f2e;
              format = 
              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"
              ;
            }
          }
          else {
            format = "Specified thread pool size (%u) too big\n";
          }
          goto LAB_0001a3c9;
        }
        MHD_DLOG(daemon,
                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"
                );
        daemon->worker_pool_size = 0;
      }
      goto LAB_00019ec0;
    case 0xf:
      ap = (va_list)(puVar4 + 2);
      iVar3 = *(int *)puVar4[1];
      if (iVar3 == 0) goto LAB_00019ec0;
      piVar5 = (int *)puVar4[1] + 1;
      goto LAB_0001a120;
    case 0x10:
      ap = (va_list)(puVar4 + 3);
      daemon->unescape_callback = (UnescapeCallback)puVar4[1];
      daemon->unescape_callback_cls = (void *)puVar4[2];
      goto LAB_00019ec0;
    case 0x11:
      ap = (va_list)(puVar4 + 3);
      daemon->digest_auth_rand_size = puVar4[1];
      daemon->digest_auth_random = (char *)puVar4[2];
      goto LAB_00019ec0;
    case 0x12:
      ap = (va_list)(puVar4 + 2);
      daemon->nonce_nc_size = puVar4[1];
      goto LAB_00019ec0;
    case 0x13:
      ap = (va_list)(puVar4 + 2);
      daemon->thread_stack_size = puVar4[1];
      goto LAB_00019ec0;
    case 0x14:
      ap = (va_list)(puVar4 + 2);
      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {
        daemon->https_mem_trust = (char *)puVar4[1];
        goto LAB_00019ec0;
      }
      uVar8 = 0x14;
      break;
    case 0x15:
      ap = (va_list)(puVar4 + 2);
      daemon->pool_increment = puVar4[1];
      goto LAB_00019ec0;
    case 0x16:
      ap = (va_list)(puVar4 + 2);
      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {
        daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];
        goto LAB_00019ec0;
      }
      uVar8 = 0x16;
      break;
    case 0x17:
      ap = (va_list)(puVar4 + 2);
      daemon->fastopen_queue_size = puVar4[1];
      goto LAB_00019ec0;
    case 0x18:
      ap = (va_list)(puVar4 + 2);
      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {
        __s = (uchar *)puVar4[1];
        iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);
        if (iVar3 < 0) {
          MHD_DLOG(daemon,"Error initializing DH parameters\n");
          goto _L417;
        }
        dhpar.data = __s;
        dhpar.size = strlen((char *)__s);
        iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);
        if (iVar3 < 0) {
          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");
          gnutls_dh_params_deinit(daemon->https_mem_dhparams);
          goto _L417;
        }
        daemon->have_dhparams = true;
        goto LAB_00019ec0;
      }
      uVar8 = 0x18;
      break;
    case 0x19:
      ap = (va_list)(puVar4 + 2);
      daemon->listening_address_reuse = -(uint)(puVar4[1] == 0) | 1;
      goto LAB_00019ec0;
    case 0x1a:
      ap = (va_list)(puVar4 + 2);
      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {
        daemon->https_key_password = (char *)puVar4[1];
        goto LAB_00019ec0;
      }
      uVar8 = 0x1a;
      break;
    case 0x1b:
      ap = (va_list)(puVar4 + 3);
      daemon->notify_connection = (MHD_NotifyConnectionCallback)puVar4[1];
      daemon->notify_connection_cls = (void *)puVar4[2];
      goto LAB_00019ec0;
    case 0x1c:
      ap = (va_list)(puVar4 + 2);
      daemon->listen_backlog_size = puVar4[1];
      goto LAB_00019ec0;
    case 0x1d:
      uVar2 = puVar4[1];
      ap = (va_list)(puVar4 + 2);
      daemon->strict_for_client = uVar2;
      if (((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1)) {
LAB_00019f2e:
        ap = (va_list)(puVar4 + 2);
      }
      else {
        MHD_DLOG(daemon,
                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"
                );
      }
      goto LAB_00019ec0;
    case 0x1e:
      goto _L348;
    default:
      if ((uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)) {
        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";
      }
      else {
        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";
      }
LAB_0001a3c9:
      MHD_DLOG(daemon,format);
      iVar3 = 0;
      goto LAB_0001a402;
    }
    ap = (va_list)(puVar4 + 2);
    MHD_DLOG(daemon,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar8);
    goto LAB_00019ec0;
  }
LAB_00019f00:
  iVar3 = 1;
  goto LAB_0001a402;
_L348:
  daemon->cred_callback = (MHD_PskServerCredentialsCallback)puVar4[1];
  daemon->cred_callback_cls = (void *)puVar4[2];
  uVar2 = puVar4[3];
  puVar4 = puVar4 + 3;
  if (uVar2 == 0) goto LAB_00019f00;
  goto LAB_00019ec6;
  while( true ) {
    iVar3 = parse_options(daemon,servaddr,iVar3,iVar6,iVar7);
    if (iVar3 != 1) goto _L417;
    iVar3 = piVar5[2];
    piVar5 = piVar5 + 3;
    if (iVar3 == 0) break;
LAB_0001a120:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
    switch(iVar3) {
    case 1:
    case 2:
    case 3:
    case 5:
    case 0xe:
    case 0x12:
    case 0x13:
    case 0x15:
    case 0x17:
    case 0x19:
    case 0x1c:
      iVar7 = 0;
      iVar6 = *piVar5;
      break;
    case 4:
    case 7:
    case 0xd:
    case 0x10:
    case 0x1b:
    case 0x1e:
      iVar7 = piVar5[1];
      iVar6 = *piVar5;
      break;
    case 6:
    case 8:
    case 9:
    case 0xb:
    case 0xf:
    case 0x14:
    case 0x16:
    case 0x18:
    case 0x1a:
      iVar7 = 0;
      iVar6 = piVar5[1];
      break;
    case 10:
      iVar7 = 0;
      iVar6 = *piVar5;
      iVar3 = 10;
      break;
    case 0xc:
      iVar7 = 0;
      iVar6 = *piVar5;
      iVar3 = 0xc;
      break;
    case 0x11:
      iVar7 = piVar5[1];
      iVar6 = *piVar5;
      iVar3 = 0x11;
      break;
    case 0x1d:
      iVar7 = 0;
      iVar6 = *piVar5;
      iVar3 = 0x1d;
      break;
    default:
      goto _L417;
    }
  }
  goto LAB_00019ec0;
_L378:
  ap = (va_list)(puVar4 + 2);
  daemon->pool_size = puVar4[1];
  goto LAB_00019ec0;
_L417:
  iVar3 = 0;
LAB_0001a402:
  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return iVar3;
}



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

undefined4 __regparm3 FUN_00019e80(int param_1,uint *param_2,uint *param_3)

{
  uint uVar1;
  int iVar2;
  char *pcVar3;
  undefined4 uVar4;
  uint *puVar5;
  int *piVar6;
  int in_GS_OFFSET;
  int iVar7;
  int iVar8;
  char *pcStack_28;
  size_t sStack_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x19e8d;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
code_r0x00019ec0:
  uVar1 = *param_3;
  puVar5 = param_3;
  if (uVar1 != 0) {
code_r0x00019ec6:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
    switch(uVar1) {
    case 1:
      goto code_r0x0001a320;
    case 2:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0xec) = puVar5[1];
      goto code_r0x00019ec0;
    case 3:
      param_3 = puVar5 + 2;
      if ((int)puVar5[1] < 0) {
        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");
        *(undefined4 *)(param_1 + 0xf0) = 0;
      }
      else {
        *(uint *)(param_1 + 0xf0) = puVar5[1];
      }
      goto code_r0x00019ec0;
    case 4:
      param_3 = puVar5 + 3;
      *(uint *)(param_1 + 0x48) = puVar5[1];
      *(uint *)(param_1 + 0x4c) = puVar5[2];
      goto code_r0x00019ec0;
    case 5:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0xf4) = puVar5[1];
      goto code_r0x00019ec0;
    case 6:
      param_3 = puVar5 + 2;
      *param_2 = puVar5[1];
      goto code_r0x00019ec0;
    case 7:
      param_3 = puVar5 + 3;
      *(uint *)(param_1 + 0x58) = puVar5[1];
      *(uint *)(param_1 + 0x5c) = puVar5[2];
      goto code_r0x00019ec0;
    case 8:
      param_3 = puVar5 + 2;
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        *(uint *)(param_1 + 300) = puVar5[1];
        goto code_r0x00019ec0;
      }
      uVar4 = 8;
      break;
    case 9:
      param_3 = puVar5 + 2;
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        *(uint *)(param_1 + 0x130) = puVar5[1];
        goto code_r0x00019ec0;
      }
      uVar4 = 9;
      break;
    case 10:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x110) = puVar5[1];
      goto code_r0x00019ec0;
    case 0xb:
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        uVar1 = puVar5[1];
        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));
        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);
        if (iVar2 == 0) goto code_r0x00019f2e;
        uVar4 = gnutls_strerror(iVar2);
        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);
        uVar4 = 0;
        *(undefined4 *)(param_1 + 0x10c) = 0;
        goto LAB_0001a402;
      }
      uVar4 = 0xb;
      break;
    case 0xc:
      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {
        pcVar3 = 
        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";
        goto LAB_0001a3c9;
      }
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0xc4) = puVar5[1];
      goto code_r0x00019ec0;
    case 0xd:
      param_3 = puVar5 + 3;
      *(uint *)(param_1 + 0x68) = puVar5[1];
      *(uint *)(param_1 + 0x6c) = puVar5[2];
      goto code_r0x00019ec0;
    case 0xe:
      uVar1 = puVar5[1];
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x88) = uVar1;
      if (uVar1 == 0) {
        FUN_000215b0(param_1,
                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"
                    );
      }
      else {
        if (uVar1 != 1) {
          if (uVar1 < 0xb02c0b) {
            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {
              pcVar3 = 
              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"
              ;
            }
            else {
              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;
              pcVar3 = 
              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"
              ;
            }
          }
          else {
            pcVar3 = "Specified thread pool size (%u) too big\n";
          }
          goto LAB_0001a3c9;
        }
        FUN_000215b0(param_1,
                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"
                    );
        *(undefined4 *)(param_1 + 0x88) = 0;
      }
      goto code_r0x00019ec0;
    case 0xf:
      param_3 = puVar5 + 2;
      iVar2 = *(int *)puVar5[1];
      if (iVar2 == 0) goto code_r0x00019ec0;
      piVar6 = (int *)puVar5[1] + 1;
      goto code_r0x0001a120;
    case 0x10:
      param_3 = puVar5 + 3;
      *(uint *)(param_1 + 0x60) = puVar5[1];
      *(uint *)(param_1 + 100) = puVar5[2];
      goto code_r0x00019ec0;
    case 0x11:
      param_3 = puVar5 + 3;
      *(uint *)(param_1 + 0x164) = puVar5[1];
      *(uint *)(param_1 + 0x144) = puVar5[2];
      goto code_r0x00019ec0;
    case 0x12:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x168) = puVar5[1];
      goto code_r0x00019ec0;
    case 0x13:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x84) = puVar5[1];
      goto code_r0x00019ec0;
    case 0x14:
      param_3 = puVar5 + 2;
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        *(uint *)(param_1 + 0x138) = puVar5[1];
        goto code_r0x00019ec0;
      }
      uVar4 = 0x14;
      break;
    case 0x15:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x80) = puVar5[1];
      goto code_r0x00019ec0;
    case 0x16:
      param_3 = puVar5 + 2;
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        *(uint *)(param_1 + 0x120) = puVar5[1];
        goto code_r0x00019ec0;
      }
      uVar4 = 0x16;
      break;
    case 0x17:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x16c) = puVar5[1];
      goto code_r0x00019ec0;
    case 0x18:
      param_3 = puVar5 + 2;
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        pcVar3 = (char *)puVar5[1];
        iVar2 = func_0x00013680(param_1 + 0x13c);
        if (iVar2 < 0) {
          FUN_000215b0(param_1,"Error initializing DH parameters\n");
          goto code_r0x0001a400;
        }
        pcStack_28 = pcVar3;
        sStack_24 = strlen(pcVar3);
        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);
        if (iVar2 < 0) {
          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");
          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));
          goto code_r0x0001a400;
        }
        *(undefined1 *)(param_1 + 0x140) = 1;
        goto code_r0x00019ec0;
      }
      uVar4 = 0x18;
      break;
    case 0x19:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;
      goto code_r0x00019ec0;
    case 0x1a:
      param_3 = puVar5 + 2;
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        *(uint *)(param_1 + 0x134) = puVar5[1];
        goto code_r0x00019ec0;
      }
      uVar4 = 0x1a;
      break;
    case 0x1b:
      param_3 = puVar5 + 3;
      *(uint *)(param_1 + 0x50) = puVar5[1];
      *(uint *)(param_1 + 0x54) = puVar5[2];
      goto code_r0x00019ec0;
    case 0x1c:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x170) = puVar5[1];
      goto code_r0x00019ec0;
    case 0x1d:
      uVar1 = puVar5[1];
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x100) = uVar1;
      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {
code_r0x00019f2e:
        param_3 = puVar5 + 2;
      }
      else {
        FUN_000215b0(param_1,
                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"
                    );
      }
      goto code_r0x00019ec0;
    case 0x1e:
      goto code_r0x00019ee0;
    default:
      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {
        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";
      }
      else {
        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";
      }
LAB_0001a3c9:
      FUN_000215b0(param_1,pcVar3);
      uVar4 = 0;
      goto LAB_0001a402;
    }
    param_3 = puVar5 + 2;
    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);
    goto code_r0x00019ec0;
  }
LAB_00019f00:
  uVar4 = 1;
  goto LAB_0001a402;
code_r0x00019ee0:
  *(uint *)(param_1 + 0x124) = puVar5[1];
  *(uint *)(param_1 + 0x128) = puVar5[2];
  uVar1 = puVar5[3];
  puVar5 = puVar5 + 3;
  if (uVar1 == 0) goto LAB_00019f00;
  goto code_r0x00019ec6;
  while( true ) {
    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);
    if (iVar2 != 1) goto code_r0x0001a400;
    iVar2 = piVar6[2];
    piVar6 = piVar6 + 3;
    if (iVar2 == 0) break;
code_r0x0001a120:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
    switch(iVar2) {
    case 1:
    case 2:
    case 3:
    case 5:
    case 0xe:
    case 0x12:
    case 0x13:
    case 0x15:
    case 0x17:
    case 0x19:
    case 0x1c:
      iVar8 = 0;
      iVar7 = *piVar6;
      break;
    case 4:
    case 7:
    case 0xd:
    case 0x10:
    case 0x1b:
    case 0x1e:
      iVar8 = piVar6[1];
      iVar7 = *piVar6;
      break;
    case 6:
    case 8:
    case 9:
    case 0xb:
    case 0xf:
    case 0x14:
    case 0x16:
    case 0x18:
    case 0x1a:
      iVar8 = 0;
      iVar7 = piVar6[1];
      break;
    case 10:
      iVar8 = 0;
      iVar7 = *piVar6;
      iVar2 = 10;
      break;
    case 0xc:
      iVar8 = 0;
      iVar7 = *piVar6;
      iVar2 = 0xc;
      break;
    case 0x11:
      iVar8 = piVar6[1];
      iVar7 = *piVar6;
      iVar2 = 0x11;
      break;
    case 0x1d:
      iVar8 = 0;
      iVar7 = *piVar6;
      iVar2 = 0x1d;
      break;
    default:
      goto code_r0x0001a400;
    }
  }
  goto code_r0x00019ec0;
code_r0x0001a320:
  param_3 = puVar5 + 2;
  *(uint *)(param_1 + 0x7c) = puVar5[1];
  goto code_r0x00019ec0;
code_r0x0001a400:
  uVar4 = 0;
LAB_0001a402:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_000299b0();
  }
  return uVar4;
}


PUSH EBP
PUSH EDI
MOV EDI,EDX
PUSH ESI
MOV ESI,EAX
PUSH EBX
CALL 0x00013810
ADD EBX,0x1af53
SUB ESP,0x2c
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x1c],EAX
XOR EAX,EAX
LEA EAX,[EBX + 0xffff69d8]
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[EBX + 0xffff68d0]
MOV dword ptr [ESP + 0x4],EAX
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV EAX,dword ptr [ECX]
TEST EAX,EAX
JZ 0x00019f00
CMP EAX,0x1e
JA 0x0001a3a8
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xffff78f8]
ADD EDX,EBX
JMP EDX
MOV EAX,0x1
JMP 0x0001a402
CMP EAX,0x1e
JA 0x0001a4a0
MOV EDX,0x40100f00
BT EDX,EAX
JNC 0x0001a4a0
SUB ESP,0x4
PUSH EAX
LEA EAX,[EBX + 0xffff6a44]
PUSH EAX
PUSH ESI
CALL 0x000215b0
ADD ESP,0x10
XOR EAX,EAX
JMP 0x0001a402
MOV EDI,dword ptr [ESP + 0x1c]
XOR EDI,dword ptr GS:[0x14]
JNZ 0x0001a5c5
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
PUSH EAX
LEA EAX,[EBX + 0xffff6a88]
JMP 0x0001a3c9
CALL 0x000299b0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 __regparm3 FUN_00019e80(int param_1,uint *param_2,uint *param_3)\n\n{\n  uint uVar1;\n  int iVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  uint *puVar5;\n  int *piVar6;\n  int in_GS_OFFSET;\n  int iVar7;\n  int iVar8;\n  char *pcStack_28;\n  size_t sStack_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x19e8d;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\ncode_r0x00019ec0:\n  uVar1 = *param_3;\n  puVar5 = param_3;\n  if (uVar1 != 0) {\ncode_r0x00019ec6:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }\nLAB_00019f00:\n  uVar4 = 1;\n  goto LAB_0001a402;\ncode_r0x00019ee0:\n  *(uint *)(param_1 + 0x124) = puVar5[1];\n  *(uint *)(param_1 + 0x128) = puVar5[2];\n  uVar1 = puVar5[3];\n  puVar5 = puVar5 + 3;\n  if (uVar1 == 0) goto LAB_00019f00;\n  goto code_r0x00019ec6;\n  while( true ) {\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }\n  goto code_r0x00019ec0;\ncode_r0x0001a320:\n  param_3 = puVar5 + 2;\n  *(uint *)(param_1 + 0x7c) = puVar5[1];\n  goto code_r0x00019ec0;\ncode_r0x0001a400:\n  uVar4 = 0;\nLAB_0001a402:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000299b0();\n  }\n  return uVar4;\n}\n\n" comment (function_definition "undefined4 __regparm3 FUN_00019e80(int param_1,uint *param_2,uint *param_3)\n\n{\n  uint uVar1;\n  int iVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  uint *puVar5;\n  int *piVar6;\n  int in_GS_OFFSET;\n  int iVar7;\n  int iVar8;\n  char *pcStack_28;\n  size_t sStack_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x19e8d;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\ncode_r0x00019ec0:\n  uVar1 = *param_3;\n  puVar5 = param_3;\n  if (uVar1 != 0) {\ncode_r0x00019ec6:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }\nLAB_00019f00:\n  uVar4 = 1;\n  goto LAB_0001a402;\ncode_r0x00019ee0:\n  *(uint *)(param_1 + 0x124) = puVar5[1];\n  *(uint *)(param_1 + 0x128) = puVar5[2];\n  uVar1 = puVar5[3];\n  puVar5 = puVar5 + 3;\n  if (uVar1 == 0) goto LAB_00019f00;\n  goto code_r0x00019ec6;\n  while( true ) {\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }\n  goto code_r0x00019ec0;\ncode_r0x0001a320:\n  param_3 = puVar5 + 2;\n  *(uint *)(param_1 + 0x7c) = puVar5[1];\n  goto code_r0x00019ec0;\ncode_r0x0001a400:\n  uVar4 = 0;\nLAB_0001a402:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000299b0();\n  }\n  return uVar4;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00019e80(int param_1,uint *param_2,uint *param_3)" identifier (parameter_list "(int param_1,uint *param_2,uint *param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  uint *puVar5;\n  int *piVar6;\n  int in_GS_OFFSET;\n  int iVar7;\n  int iVar8;\n  char *pcStack_28;\n  size_t sStack_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x19e8d;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\ncode_r0x00019ec0:\n  uVar1 = *param_3;\n  puVar5 = param_3;\n  if (uVar1 != 0) {\ncode_r0x00019ec6:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }\nLAB_00019f00:\n  uVar4 = 1;\n  goto LAB_0001a402;\ncode_r0x00019ee0:\n  *(uint *)(param_1 + 0x124) = puVar5[1];\n  *(uint *)(param_1 + 0x128) = puVar5[2];\n  uVar1 = puVar5[3];\n  puVar5 = puVar5 + 3;\n  if (uVar1 == 0) goto LAB_00019f00;\n  goto code_r0x00019ec6;\n  while( true ) {\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }\n  goto code_r0x00019ec0;\ncode_r0x0001a320:\n  param_3 = puVar5 + 2;\n  *(uint *)(param_1 + 0x7c) = puVar5[1];\n  goto code_r0x00019ec0;\ncode_r0x0001a400:\n  uVar4 = 0;\nLAB_0001a402:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000299b0();\n  }\n  return uVar4;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcStack_28;" primitive_type (pointer_declarator "*pcStack_28" * identifier) ;) (declaration "size_t sStack_24;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x19e8d;" (assignment_expression "uStack_14 = 0x19e8d" 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) ))))) ;) (labeled_statement "code_r0x00019ec0:\n  uVar1 = *param_3;" statement_identifier : (expression_statement "uVar1 = *param_3;" (assignment_expression "uVar1 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) (expression_statement "puVar5 = param_3;" (assignment_expression "puVar5 = param_3" identifier = identifier) ;) (if_statement "if (uVar1 != 0) {\ncode_r0x00019ec6:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\ncode_r0x00019ec6:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }" { (labeled_statement "code_r0x00019ec6:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }" statement_identifier : comment (switch_statement "switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }" switch (parenthesized_expression "(uVar1)" ( identifier )) (compound_statement "{\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }" { (case_statement "case 1:\n      goto code_r0x0001a320;" case number_literal : (goto_statement "goto code_r0x0001a320;" goto statement_identifier ;)) (case_statement "case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0xec) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0xec) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0xec)" * (cast_expression "(uint *)(param_1 + 0xec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xec)" ( (binary_expression "param_1 + 0xec" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }" if (parenthesized_expression "((int)puVar5[1] < 0)" ( (binary_expression "(int)puVar5[1] < 0" (cast_expression "(int)puVar5[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar5[1]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }" { (expression_statement "FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");" (call_expression "FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n")" identifier (argument_list "(param_1,"Warning: Too large timeout value, ignored.\n")" ( identifier , (string_literal ""Warning: Too large timeout value, ignored.\n"" " string_content escape_sequence ") ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xf0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xf0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xf0)" * (cast_expression "(undefined4 *)(param_1 + 0xf0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf0)" ( (binary_expression "param_1 + 0xf0" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }" else (compound_statement "{\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }" { (expression_statement "*(uint *)(param_1 + 0xf0) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0xf0) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0xf0)" * (cast_expression "(uint *)(param_1 + 0xf0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf0)" ( (binary_expression "param_1 + 0xf0" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) }))) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x48) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x48) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x48)" * (cast_expression "(uint *)(param_1 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_1 + 0x4c) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x4c) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x4c)" * (cast_expression "(uint *)(param_1 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0xf4) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0xf4) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0xf4)" * (cast_expression "(uint *)(param_1 + 0xf4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf4)" ( (binary_expression "param_1 + 0xf4" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*param_2 = puVar5[1];" (assignment_expression "*param_2 = puVar5[1]" (pointer_expression "*param_2" * identifier) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x58) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x58) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x58)" * (cast_expression "(uint *)(param_1 + 0x58)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_1 + 0x5c) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x5c) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x5c)" * (cast_expression "(uint *)(param_1 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" { (expression_statement "*(uint *)(param_1 + 300) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 300) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 300)" * (cast_expression "(uint *)(param_1 + 300)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 300)" ( (binary_expression "param_1 + 300" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar4 = 8;" (assignment_expression "uVar4 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" { (expression_statement "*(uint *)(param_1 + 0x130) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x130) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x130)" * (cast_expression "(uint *)(param_1 + 0x130)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x130)" ( (binary_expression "param_1 + 0x130" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar4 = 9;" (assignment_expression "uVar4 = 9" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x110) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x110) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x110)" * (cast_expression "(uint *)(param_1 + 0x110)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x110)" ( (binary_expression "param_1 + 0x110" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;" case number_literal : (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }" { (expression_statement "uVar1 = puVar5[1];" (assignment_expression "uVar1 = puVar5[1]" identifier = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));" (call_expression "gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x10c))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10c)" * (cast_expression "(undefined4 *)(param_1 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10c)" ( (binary_expression "param_1 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);" (assignment_expression "iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0)" identifier = (call_expression "gnutls_priority_init(param_1 + 0x10c,uVar1,0)" identifier (argument_list "(param_1 + 0x10c,uVar1,0)" ( (binary_expression "param_1 + 0x10c" identifier + number_literal) , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) goto code_r0x00019f2e;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00019f2e;" goto statement_identifier ;)) (expression_statement "uVar4 = gnutls_strerror(iVar2);" (assignment_expression "uVar4 = gnutls_strerror(iVar2)" identifier = (call_expression "gnutls_strerror(iVar2)" identifier (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);" (call_expression "FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4)" identifier (argument_list "(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4)" ( identifier , (string_literal ""Setting priorities to `%s\' failed: %s\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x10c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10c)" * (cast_expression "(undefined4 *)(param_1 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10c)" ( (binary_expression "param_1 + 0x10c" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001a402;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0xb;" (assignment_expression "uVar4 = 0xb" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (if_statement "if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf9) & 1) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf9) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf9) & 1)" ( (binary_expression "*(byte *)(param_1 + 0xf9) & 1" (pointer_expression "*(byte *)(param_1 + 0xf9)" * (cast_expression "(byte *)(param_1 + 0xf9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf9)" ( (binary_expression "param_1 + 0xf9" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }" { (expression_statement "pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";" (assignment_expression "pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n"" identifier = (string_literal ""MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0001a3c9;" goto statement_identifier ;) })) (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0xc4) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0xc4) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0xc4)" * (cast_expression "(uint *)(param_1 + 0xc4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc4)" ( (binary_expression "param_1 + 0xc4" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x68) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x68) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x68)" * (cast_expression "(uint *)(param_1 + 0x68)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_1 + 0x6c) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x6c) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x6c)" * (cast_expression "(uint *)(param_1 + 0x6c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "uVar1 = puVar5[1];" (assignment_expression "uVar1 = puVar5[1]" identifier = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x88) = uVar1;" (assignment_expression "*(uint *)(param_1 + 0x88) = uVar1" (pointer_expression "*(uint *)(param_1 + 0x88)" * (cast_expression "(uint *)(param_1 + 0x88)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) )))) = identifier) ;) (if_statement "if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }" { (expression_statement "FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );" (call_expression "FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    )" identifier (argument_list "(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    )" ( identifier , (string_literal ""Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }" else (compound_statement "{\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }" { (if_statement "if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }" if (parenthesized_expression "(uVar1 != 1)" ( (binary_expression "uVar1 != 1" identifier != number_literal) )) (compound_statement "{\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }" { (if_statement "if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }" if (parenthesized_expression "(uVar1 < 0xb02c0b)" ( (binary_expression "uVar1 < 0xb02c0b" identifier < number_literal) )) (compound_statement "{\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }" { (if_statement "if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }" if (parenthesized_expression "((*(uint *)(param_1 + 0xf8) & 8) == 0)" ( (binary_expression "(*(uint *)(param_1 + 0xf8) & 8) == 0" (parenthesized_expression "(*(uint *)(param_1 + 0xf8) & 8)" ( (binary_expression "*(uint *)(param_1 + 0xf8) & 8" (pointer_expression "*(uint *)(param_1 + 0xf8)" * (cast_expression "(uint *)(param_1 + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }" { (expression_statement "pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;" (assignment_expression "pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"" identifier = (string_literal ""MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }" else (compound_statement "{\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }" { (if_statement "if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;" if (parenthesized_expression "((*(uint *)(param_1 + 0xf8) & 4) == 0)" ( (binary_expression "(*(uint *)(param_1 + 0xf8) & 4) == 0" (parenthesized_expression "(*(uint *)(param_1 + 0xf8) & 4)" ( (binary_expression "*(uint *)(param_1 + 0xf8) & 4" (pointer_expression "*(uint *)(param_1 + 0xf8)" * (cast_expression "(uint *)(param_1 + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto code_r0x00019f2e;" goto statement_identifier ;)) (expression_statement "pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;" (assignment_expression "pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"" identifier = (string_literal ""Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"" " string_content escape_sequence ")) ;) }))) }) (else_clause "else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }" else (compound_statement "{\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }" { (expression_statement "pcVar3 = "Specified thread pool size (%u) too big\n";" (assignment_expression "pcVar3 = "Specified thread pool size (%u) too big\n"" identifier = (string_literal ""Specified thread pool size (%u) too big\n"" " string_content escape_sequence ")) ;) }))) (goto_statement "goto LAB_0001a3c9;" goto statement_identifier ;) })) (expression_statement "FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );" (call_expression "FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    )" identifier (argument_list "(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    )" ( identifier , (string_literal ""Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x88) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x88) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x88)" * (cast_expression "(undefined4 *)(param_1 + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) )))) = number_literal) ;) }))) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "iVar2 = *(int *)puVar5[1];" (assignment_expression "iVar2 = *(int *)puVar5[1]" identifier = (pointer_expression "*(int *)puVar5[1]" * (cast_expression "(int *)puVar5[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[1]" identifier [ number_literal ])))) ;) (if_statement "if (iVar2 == 0) goto code_r0x00019ec0;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (expression_statement "piVar6 = (int *)puVar5[1] + 1;" (assignment_expression "piVar6 = (int *)puVar5[1] + 1" identifier = (binary_expression "(int *)puVar5[1] + 1" (cast_expression "(int *)puVar5[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[1]" identifier [ number_literal ])) + number_literal)) ;) (goto_statement "goto code_r0x0001a120;" goto statement_identifier ;)) (case_statement "case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x60) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x60) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x60)" * (cast_expression "(uint *)(param_1 + 0x60)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_1 + 100) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 100) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 100)" * (cast_expression "(uint *)(param_1 + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x164) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x164) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x164)" * (cast_expression "(uint *)(param_1 + 0x164)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x164)" ( (binary_expression "param_1 + 0x164" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_1 + 0x144) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x144) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x144)" * (cast_expression "(uint *)(param_1 + 0x144)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x144)" ( (binary_expression "param_1 + 0x144" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x168) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x168) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x168)" * (cast_expression "(uint *)(param_1 + 0x168)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x84) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x84) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x84)" * (cast_expression "(uint *)(param_1 + 0x84)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" { (expression_statement "*(uint *)(param_1 + 0x138) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x138) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x138)" * (cast_expression "(uint *)(param_1 + 0x138)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x138)" ( (binary_expression "param_1 + 0x138" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0x14;" (assignment_expression "uVar4 = 0x14" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x80) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x80) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x80)" * (cast_expression "(uint *)(param_1 + 0x80)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x80)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" { (expression_statement "*(uint *)(param_1 + 0x120) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x120) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x120)" * (cast_expression "(uint *)(param_1 + 0x120)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x120)" ( (binary_expression "param_1 + 0x120" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0x16;" (assignment_expression "uVar4 = 0x16" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x16c) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x16c) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x16c)" * (cast_expression "(uint *)(param_1 + 0x16c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x16c)" ( (binary_expression "param_1 + 0x16c" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }" { (expression_statement "pcVar3 = (char *)puVar5[1];" (assignment_expression "pcVar3 = (char *)puVar5[1]" identifier = (cast_expression "(char *)puVar5[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar2 = func_0x00013680(param_1 + 0x13c);" (assignment_expression "iVar2 = func_0x00013680(param_1 + 0x13c)" identifier = (call_expression "func_0x00013680(param_1 + 0x13c)" identifier (argument_list "(param_1 + 0x13c)" ( (binary_expression "param_1 + 0x13c" identifier + number_literal) )))) ;) (if_statement "if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }" { (expression_statement "FUN_000215b0(param_1,"Error initializing DH parameters\n");" (call_expression "FUN_000215b0(param_1,"Error initializing DH parameters\n")" identifier (argument_list "(param_1,"Error initializing DH parameters\n")" ( identifier , (string_literal ""Error initializing DH parameters\n"" " string_content escape_sequence ") ))) ;) (goto_statement "goto code_r0x0001a400;" goto statement_identifier ;) })) (expression_statement "pcStack_28 = pcVar3;" (assignment_expression "pcStack_28 = pcVar3" identifier = identifier) ;) (expression_statement "sStack_24 = strlen(pcVar3);" (assignment_expression "sStack_24 = strlen(pcVar3)" identifier = (call_expression "strlen(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier )))) ;) (expression_statement "iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);" (assignment_expression "iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1)" identifier = (call_expression "func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x13c)" * (cast_expression "(undefined4 *)(param_1 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x13c)" ( (binary_expression "param_1 + 0x13c" identifier + number_literal) )))) , (pointer_expression "&pcStack_28" & identifier) , number_literal )))) ;) (if_statement "if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }" { (expression_statement "FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");" (call_expression "FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n")" identifier (argument_list "(param_1,"Bad Diffie-Hellman parameters format\n")" ( identifier , (string_literal ""Bad Diffie-Hellman parameters format\n"" " string_content escape_sequence ") ))) ;) (expression_statement "gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));" (call_expression "gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x13c))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x13c)" * (cast_expression "(undefined4 *)(param_1 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x13c)" ( (binary_expression "param_1 + 0x13c" identifier + number_literal) )))) ))) ;) (goto_statement "goto code_r0x0001a400;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_1 + 0x140) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x140) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x140)" * (cast_expression "(undefined1 *)(param_1 + 0x140)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x140)" ( (binary_expression "param_1 + 0x140" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0x18;" (assignment_expression "uVar4 = 0x18" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;" (assignment_expression "*(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1" (pointer_expression "*(uint *)(param_1 + 200)" * (cast_expression "(uint *)(param_1 + 200)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 200)" ( (binary_expression "param_1 + 200" identifier + number_literal) )))) = (binary_expression "-(uint)(puVar5[1] == 0) | 1" (unary_expression "-(uint)(puVar5[1] == 0)" - (call_expression "(uint)(puVar5[1] == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar5[1] == 0)" ( (binary_expression "puVar5[1] == 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) == number_literal) )))) | number_literal)) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" { (expression_statement "*(uint *)(param_1 + 0x134) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x134) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x134)" * (cast_expression "(uint *)(param_1 + 0x134)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x134)" ( (binary_expression "param_1 + 0x134" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0x1a;" (assignment_expression "uVar4 = 0x1a" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x50) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x50) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x50)" * (cast_expression "(uint *)(param_1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_1 + 0x54) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x54) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x54)" * (cast_expression "(uint *)(param_1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x170) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x170) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x170)" * (cast_expression "(uint *)(param_1 + 0x170)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x170)" ( (binary_expression "param_1 + 0x170" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "uVar1 = puVar5[1];" (assignment_expression "uVar1 = puVar5[1]" identifier = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x100) = uVar1;" (assignment_expression "*(uint *)(param_1 + 0x100) = uVar1" (pointer_expression "*(uint *)(param_1 + 0x100)" * (cast_expression "(uint *)(param_1 + 0x100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x100)" ( (binary_expression "param_1 + 0x100" identifier + number_literal) )))) = identifier) ;) (if_statement "if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }" if (parenthesized_expression "(((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1))" ( (binary_expression "((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)" (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 0x20) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 0x20) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 0x20)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 0x20" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar1 == 1)" ( (binary_expression "uVar1 == 1" identifier == number_literal) ))) )) (compound_statement "{\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }" { (labeled_statement "code_r0x00019f2e:\n        param_3 = puVar5 + 2;" statement_identifier : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;)) }) (else_clause "else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }" else (compound_statement "{\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }" { (expression_statement "FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );" (call_expression "FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    )" identifier (argument_list "(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    )" ( identifier , (string_literal ""Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"" " string_content escape_sequence ") ))) ;) }))) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x1e:\n      goto code_r0x00019ee0;" case number_literal : (goto_statement "goto code_r0x00019ee0;" goto statement_identifier ;)) (case_statement "default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;" default : (if_statement "if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }" if (parenthesized_expression "((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0))" ( (binary_expression "(uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)" (parenthesized_expression "(uVar1 < 0x1f)" ( (binary_expression "uVar1 < 0x1f" identifier < number_literal) )) && (parenthesized_expression "((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)" ( (binary_expression "(0x40100f00U >> (uVar1 & 0x1f) & 1) != 0" (parenthesized_expression "(0x40100f00U >> (uVar1 & 0x1f) & 1)" ( (binary_expression "0x40100f00U >> (uVar1 & 0x1f) & 1" (binary_expression "0x40100f00U >> (uVar1 & 0x1f)" number_literal >> (parenthesized_expression "(uVar1 & 0x1f)" ( (binary_expression "uVar1 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }" { (expression_statement "pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";" (assignment_expression "pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n"" identifier = (string_literal ""MHD HTTPS option %d passed to MHD compiled without HTTPS support\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }" else (compound_statement "{\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }" { (expression_statement "pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";" (assignment_expression "pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n"" identifier = (string_literal ""Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n"" " string_content escape_sequence ")) ;) }))) (labeled_statement "LAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);" statement_identifier : (expression_statement "FUN_000215b0(param_1,pcVar3);" (call_expression "FUN_000215b0(param_1,pcVar3)" identifier (argument_list "(param_1,pcVar3)" ( identifier , identifier ))) ;)) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001a402;" goto statement_identifier ;)) }))) (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);" (call_expression "FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4)" identifier (argument_list "(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4)" ( identifier , (string_literal ""MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n"" " string_content escape_sequence ") , identifier ))) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (labeled_statement "LAB_00019f00:\n  uVar4 = 1;" statement_identifier : (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0001a402;" goto statement_identifier ;) (labeled_statement "code_r0x00019ee0:\n  *(uint *)(param_1 + 0x124) = puVar5[1];" statement_identifier : (expression_statement "*(uint *)(param_1 + 0x124) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x124) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x124)" * (cast_expression "(uint *)(param_1 + 0x124)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x124)" ( (binary_expression "param_1 + 0x124" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;)) (expression_statement "*(uint *)(param_1 + 0x128) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x128) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x128)" * (cast_expression "(uint *)(param_1 + 0x128)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x128)" ( (binary_expression "param_1 + 0x128" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = puVar5[3];" (assignment_expression "uVar1 = puVar5[3]" identifier = (subscript_expression "puVar5[3]" identifier [ number_literal ])) ;) (expression_statement "puVar5 = puVar5 + 3;" (assignment_expression "puVar5 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (if_statement "if (uVar1 == 0) goto LAB_00019f00;" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019f00;" goto statement_identifier ;)) (goto_statement "goto code_r0x00019ec6;" goto statement_identifier ;) (while_statement "while( true ) {\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }" { (expression_statement "iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);" (assignment_expression "iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8)" identifier = (call_expression "FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8)" identifier (argument_list "(param_1,param_2,iVar2,iVar7,iVar8)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 != 1) goto code_r0x0001a400;" if (parenthesized_expression "(iVar2 != 1)" ( (binary_expression "iVar2 != 1" identifier != number_literal) )) (goto_statement "goto code_r0x0001a400;" goto statement_identifier ;)) (expression_statement "iVar2 = piVar6[2];" (assignment_expression "iVar2 = piVar6[2]" identifier = (subscript_expression "piVar6[2]" identifier [ number_literal ])) ;) (expression_statement "piVar6 = piVar6 + 3;" (assignment_expression "piVar6 = piVar6 + 3" identifier = (binary_expression "piVar6 + 3" identifier + number_literal)) ;) (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0001a120:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }" statement_identifier : comment (switch_statement "switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }" switch (parenthesized_expression "(iVar2)" ( identifier )) (compound_statement "{\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }" { (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 5:" case number_literal :) (case_statement "case 0xe:" case number_literal :) (case_statement "case 0x12:" case number_literal :) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x19:" case number_literal :) (case_statement "case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;" case number_literal : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 7:" case number_literal :) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x1b:" case number_literal :) (case_statement "case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;" case number_literal : (expression_statement "iVar8 = piVar6[1];" (assignment_expression "iVar8 = piVar6[1]" identifier = (subscript_expression "piVar6[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 6:" case number_literal :) (case_statement "case 8:" case number_literal :) (case_statement "case 9:" case number_literal :) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0xf:" case number_literal :) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x18:" case number_literal :) (case_statement "case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;" case number_literal : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = piVar6[1];" (assignment_expression "iVar7 = piVar6[1]" identifier = (subscript_expression "piVar6[1]" identifier [ number_literal ])) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;" case number_literal : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "iVar2 = 10;" (assignment_expression "iVar2 = 10" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;" case number_literal : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "iVar2 = 0xc;" (assignment_expression "iVar2 = 0xc" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;" case number_literal : (expression_statement "iVar8 = piVar6[1];" (assignment_expression "iVar8 = piVar6[1]" identifier = (subscript_expression "piVar6[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "iVar2 = 0x11;" (assignment_expression "iVar2 = 0x11" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;" case number_literal : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "iVar2 = 0x1d;" (assignment_expression "iVar2 = 0x1d" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n      goto code_r0x0001a400;" default : (goto_statement "goto code_r0x0001a400;" goto statement_identifier ;)) }))) })) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) (labeled_statement "code_r0x0001a320:\n  param_3 = puVar5 + 2;" statement_identifier : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;)) (expression_statement "*(uint *)(param_1 + 0x7c) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x7c) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x7c)" * (cast_expression "(uint *)(param_1 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) (labeled_statement "code_r0x0001a400:\n  uVar4 = 0;" statement_identifier : (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0001a402:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000299b0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_000299b0();\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_000299b0();\n  }" { comment (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */\n/* WARNING: Enum "gnutls_pk_algorithm_t": Some values do not have unique names */\n/* WARNING: Enum "gnutls_certificate_type_t": Some values do not have unique names */\n\nint __regparm3 parse_options_va(MHD_Daemon *daemon,sockaddr **servaddr,va_list ap)\n\n{\n  int iVar1;\n  uchar *__s;\n  uint uVar2;\n  char *format;\n  int iVar3;\n  uint *puVar4;\n  int *piVar5;\n  int in_GS_OFFSET;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  gnutls_datum_t dhpar;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\nLAB_00019ec0:\n  uVar2 = *(uint *)ap;\n  puVar4 = (uint *)ap;\n  if (uVar2 != 0) {\nLAB_00019ec6:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar2) {\n    case 1:\n      goto _L378;\n    case 2:\n      ap = (va_list)(puVar4 + 2);\n      daemon->connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 3:\n      ap = (va_list)(puVar4 + 2);\n      if ((int)puVar4[1] < 0) {\n        MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");\n        daemon->connection_timeout = 0;\n      }\n      else {\n        daemon->connection_timeout = puVar4[1];\n      }\n      goto LAB_00019ec0;\n    case 4:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_completed = (MHD_RequestCompletedCallback)puVar4[1];\n      daemon->notify_completed_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 5:\n      ap = (va_list)(puVar4 + 2);\n      daemon->per_ip_connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 6:\n      ap = (va_list)(puVar4 + 2);\n      *servaddr = (sockaddr *)puVar4[1];\n      goto LAB_00019ec0;\n    case 7:\n      ap = (va_list)(puVar4 + 3);\n      daemon->uri_log_callback = (LogCallback)puVar4[1];\n      daemon->uri_log_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 8:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_key = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 8;\n      break;\n    case 9:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_cert = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 9;\n      break;\n    case 10:\n      ap = (va_list)(puVar4 + 2);\n      daemon->cred_type = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xb:\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        uVar2 = puVar4[1];\n        gnutls_priority_deinit(daemon->priority_cache);\n        iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);\n        if (iVar3 == 0) goto LAB_00019f2e;\n        uVar8 = gnutls_strerror(iVar3);\n        MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);\n        iVar3 = 0;\n        daemon->priority_cache = (gnutls_priority_t)0x0;\n        goto LAB_0001a402;\n      }\n      uVar8 = 0xb;\n      break;\n    case 0xc:\n      if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n        format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_fd = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xd:\n      ap = (va_list)(puVar4 + 3);\n      daemon->custom_error_log = (_func_void_void_ptr_char_ptr_va_list *)puVar4[1];\n      daemon->custom_error_log_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0xe:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->worker_pool_size = uVar2;\n      if (uVar2 == 0) {\n        MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n      }\n      else {\n        if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n        daemon->worker_pool_size = 0;\n      }\n      goto LAB_00019ec0;\n    case 0xf:\n      ap = (va_list)(puVar4 + 2);\n      iVar3 = *(int *)puVar4[1];\n      if (iVar3 == 0) goto LAB_00019ec0;\n      piVar5 = (int *)puVar4[1] + 1;\n      goto LAB_0001a120;\n    case 0x10:\n      ap = (va_list)(puVar4 + 3);\n      daemon->unescape_callback = (UnescapeCallback)puVar4[1];\n      daemon->unescape_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x11:\n      ap = (va_list)(puVar4 + 3);\n      daemon->digest_auth_rand_size = puVar4[1];\n      daemon->digest_auth_random = (char *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x12:\n      ap = (va_list)(puVar4 + 2);\n      daemon->nonce_nc_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x13:\n      ap = (va_list)(puVar4 + 2);\n      daemon->thread_stack_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x14:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_trust = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x14;\n      break;\n    case 0x15:\n      ap = (va_list)(puVar4 + 2);\n      daemon->pool_increment = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x16:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x16;\n      break;\n    case 0x17:\n      ap = (va_list)(puVar4 + 2);\n      daemon->fastopen_queue_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x18:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        __s = (uchar *)puVar4[1];\n        iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }\n        dhpar.data = __s;\n        dhpar.size = strlen((char *)__s);\n        iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }\n        daemon->have_dhparams = true;\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x18;\n      break;\n    case 0x19:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listening_address_reuse = -(uint)(puVar4[1] == 0) | 1;\n      goto LAB_00019ec0;\n    case 0x1a:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_key_password = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x1a;\n      break;\n    case 0x1b:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_connection = (MHD_NotifyConnectionCallback)puVar4[1];\n      daemon->notify_connection_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x1c:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_backlog_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x1d:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->strict_for_client = uVar2;\n      if (((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1)) {\nLAB_00019f2e:\n        ap = (va_list)(puVar4 + 2);\n      }\n      else {\n        MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );\n      }\n      goto LAB_00019ec0;\n    case 0x1e:\n      goto _L348;\n    default:\n      if ((uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)) {\n        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      MHD_DLOG(daemon,format);\n      iVar3 = 0;\n      goto LAB_0001a402;\n    }\n    ap = (va_list)(puVar4 + 2);\n    MHD_DLOG(daemon,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar8);\n    goto LAB_00019ec0;\n  }\nLAB_00019f00:\n  iVar3 = 1;\n  goto LAB_0001a402;\n_L348:\n  daemon->cred_callback = (MHD_PskServerCredentialsCallback)puVar4[1];\n  daemon->cred_callback_cls = (void *)puVar4[2];\n  uVar2 = puVar4[3];\n  puVar4 = puVar4 + 3;\n  if (uVar2 == 0) goto LAB_00019f00;\n  goto LAB_00019ec6;\n  while( true ) {\n    iVar3 = parse_options(daemon,servaddr,iVar3,iVar6,iVar7);\n    if (iVar3 != 1) goto _L417;\n    iVar3 = piVar5[2];\n    piVar5 = piVar5 + 3;\n    if (iVar3 == 0) break;\nLAB_0001a120:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(iVar3) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar7 = 0;\n      iVar6 = piVar5[1];\n      break;\n    case 10:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 10;\n      break;\n    case 0xc:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0xc;\n      break;\n    case 0x11:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      iVar3 = 0x11;\n      break;\n    case 0x1d:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0x1d;\n      break;\n    default:\n      goto _L417;\n    }\n  }\n  goto LAB_00019ec0;\n_L378:\n  ap = (va_list)(puVar4 + 2);\n  daemon->pool_size = puVar4[1];\n  goto LAB_00019ec0;\n_L417:\n  iVar3 = 0;\nLAB_0001a402:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return iVar3;\n}\n\n" comment comment comment comment (function_definition "int __regparm3 parse_options_va(MHD_Daemon *daemon,sockaddr **servaddr,va_list ap)\n\n{\n  int iVar1;\n  uchar *__s;\n  uint uVar2;\n  char *format;\n  int iVar3;\n  uint *puVar4;\n  int *piVar5;\n  int in_GS_OFFSET;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  gnutls_datum_t dhpar;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\nLAB_00019ec0:\n  uVar2 = *(uint *)ap;\n  puVar4 = (uint *)ap;\n  if (uVar2 != 0) {\nLAB_00019ec6:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar2) {\n    case 1:\n      goto _L378;\n    case 2:\n      ap = (va_list)(puVar4 + 2);\n      daemon->connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 3:\n      ap = (va_list)(puVar4 + 2);\n      if ((int)puVar4[1] < 0) {\n        MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");\n        daemon->connection_timeout = 0;\n      }\n      else {\n        daemon->connection_timeout = puVar4[1];\n      }\n      goto LAB_00019ec0;\n    case 4:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_completed = (MHD_RequestCompletedCallback)puVar4[1];\n      daemon->notify_completed_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 5:\n      ap = (va_list)(puVar4 + 2);\n      daemon->per_ip_connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 6:\n      ap = (va_list)(puVar4 + 2);\n      *servaddr = (sockaddr *)puVar4[1];\n      goto LAB_00019ec0;\n    case 7:\n      ap = (va_list)(puVar4 + 3);\n      daemon->uri_log_callback = (LogCallback)puVar4[1];\n      daemon->uri_log_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 8:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_key = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 8;\n      break;\n    case 9:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_cert = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 9;\n      break;\n    case 10:\n      ap = (va_list)(puVar4 + 2);\n      daemon->cred_type = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xb:\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        uVar2 = puVar4[1];\n        gnutls_priority_deinit(daemon->priority_cache);\n        iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);\n        if (iVar3 == 0) goto LAB_00019f2e;\n        uVar8 = gnutls_strerror(iVar3);\n        MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);\n        iVar3 = 0;\n        daemon->priority_cache = (gnutls_priority_t)0x0;\n        goto LAB_0001a402;\n      }\n      uVar8 = 0xb;\n      break;\n    case 0xc:\n      if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n        format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_fd = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xd:\n      ap = (va_list)(puVar4 + 3);\n      daemon->custom_error_log = (_func_void_void_ptr_char_ptr_va_list *)puVar4[1];\n      daemon->custom_error_log_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0xe:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->worker_pool_size = uVar2;\n      if (uVar2 == 0) {\n        MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n      }\n      else {\n        if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n        daemon->worker_pool_size = 0;\n      }\n      goto LAB_00019ec0;\n    case 0xf:\n      ap = (va_list)(puVar4 + 2);\n      iVar3 = *(int *)puVar4[1];\n      if (iVar3 == 0) goto LAB_00019ec0;\n      piVar5 = (int *)puVar4[1] + 1;\n      goto LAB_0001a120;\n    case 0x10:\n      ap = (va_list)(puVar4 + 3);\n      daemon->unescape_callback = (UnescapeCallback)puVar4[1];\n      daemon->unescape_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x11:\n      ap = (va_list)(puVar4 + 3);\n      daemon->digest_auth_rand_size = puVar4[1];\n      daemon->digest_auth_random = (char *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x12:\n      ap = (va_list)(puVar4 + 2);\n      daemon->nonce_nc_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x13:\n      ap = (va_list)(puVar4 + 2);\n      daemon->thread_stack_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x14:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_trust = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x14;\n      break;\n    case 0x15:\n      ap = (va_list)(puVar4 + 2);\n      daemon->pool_increment = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x16:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x16;\n      break;\n    case 0x17:\n      ap = (va_list)(puVar4 + 2);\n      daemon->fastopen_queue_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x18:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        __s = (uchar *)puVar4[1];\n        iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }\n        dhpar.data = __s;\n        dhpar.size = strlen((char *)__s);\n        iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }\n        daemon->have_dhparams = true;\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x18;\n      break;\n    case 0x19:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listening_address_reuse = -(uint)(puVar4[1] == 0) | 1;\n      goto LAB_00019ec0;\n    case 0x1a:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_key_password = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x1a;\n      break;\n    case 0x1b:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_connection = (MHD_NotifyConnectionCallback)puVar4[1];\n      daemon->notify_connection_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x1c:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_backlog_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x1d:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->strict_for_client = uVar2;\n      if (((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1)) {\nLAB_00019f2e:\n        ap = (va_list)(puVar4 + 2);\n      }\n      else {\n        MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );\n      }\n      goto LAB_00019ec0;\n    case 0x1e:\n      goto _L348;\n    default:\n      if ((uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)) {\n        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      MHD_DLOG(daemon,format);\n      iVar3 = 0;\n      goto LAB_0001a402;\n    }\n    ap = (va_list)(puVar4 + 2);\n    MHD_DLOG(daemon,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar8);\n    goto LAB_00019ec0;\n  }\nLAB_00019f00:\n  iVar3 = 1;\n  goto LAB_0001a402;\n_L348:\n  daemon->cred_callback = (MHD_PskServerCredentialsCallback)puVar4[1];\n  daemon->cred_callback_cls = (void *)puVar4[2];\n  uVar2 = puVar4[3];\n  puVar4 = puVar4 + 3;\n  if (uVar2 == 0) goto LAB_00019f00;\n  goto LAB_00019ec6;\n  while( true ) {\n    iVar3 = parse_options(daemon,servaddr,iVar3,iVar6,iVar7);\n    if (iVar3 != 1) goto _L417;\n    iVar3 = piVar5[2];\n    piVar5 = piVar5 + 3;\n    if (iVar3 == 0) break;\nLAB_0001a120:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(iVar3) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar7 = 0;\n      iVar6 = piVar5[1];\n      break;\n    case 10:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 10;\n      break;\n    case 0xc:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0xc;\n      break;\n    case 0x11:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      iVar3 = 0x11;\n      break;\n    case 0x1d:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0x1d;\n      break;\n    default:\n      goto _L417;\n    }\n  }\n  goto LAB_00019ec0;\n_L378:\n  ap = (va_list)(puVar4 + 2);\n  daemon->pool_size = puVar4[1];\n  goto LAB_00019ec0;\n_L417:\n  iVar3 = 0;\nLAB_0001a402:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return iVar3;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "parse_options_va(MHD_Daemon *daemon,sockaddr **servaddr,va_list ap)" identifier (parameter_list "(MHD_Daemon *daemon,sockaddr **servaddr,va_list ap)" ( (parameter_declaration "MHD_Daemon *daemon" type_identifier (pointer_declarator "*daemon" * identifier)) , (parameter_declaration "sockaddr **servaddr" type_identifier (pointer_declarator "**servaddr" * (pointer_declarator "*servaddr" * identifier))) , (parameter_declaration "va_list ap" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  uchar *__s;\n  uint uVar2;\n  char *format;\n  int iVar3;\n  uint *puVar4;\n  int *piVar5;\n  int in_GS_OFFSET;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  gnutls_datum_t dhpar;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\nLAB_00019ec0:\n  uVar2 = *(uint *)ap;\n  puVar4 = (uint *)ap;\n  if (uVar2 != 0) {\nLAB_00019ec6:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar2) {\n    case 1:\n      goto _L378;\n    case 2:\n      ap = (va_list)(puVar4 + 2);\n      daemon->connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 3:\n      ap = (va_list)(puVar4 + 2);\n      if ((int)puVar4[1] < 0) {\n        MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");\n        daemon->connection_timeout = 0;\n      }\n      else {\n        daemon->connection_timeout = puVar4[1];\n      }\n      goto LAB_00019ec0;\n    case 4:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_completed = (MHD_RequestCompletedCallback)puVar4[1];\n      daemon->notify_completed_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 5:\n      ap = (va_list)(puVar4 + 2);\n      daemon->per_ip_connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 6:\n      ap = (va_list)(puVar4 + 2);\n      *servaddr = (sockaddr *)puVar4[1];\n      goto LAB_00019ec0;\n    case 7:\n      ap = (va_list)(puVar4 + 3);\n      daemon->uri_log_callback = (LogCallback)puVar4[1];\n      daemon->uri_log_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 8:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_key = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 8;\n      break;\n    case 9:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_cert = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 9;\n      break;\n    case 10:\n      ap = (va_list)(puVar4 + 2);\n      daemon->cred_type = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xb:\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        uVar2 = puVar4[1];\n        gnutls_priority_deinit(daemon->priority_cache);\n        iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);\n        if (iVar3 == 0) goto LAB_00019f2e;\n        uVar8 = gnutls_strerror(iVar3);\n        MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);\n        iVar3 = 0;\n        daemon->priority_cache = (gnutls_priority_t)0x0;\n        goto LAB_0001a402;\n      }\n      uVar8 = 0xb;\n      break;\n    case 0xc:\n      if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n        format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_fd = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xd:\n      ap = (va_list)(puVar4 + 3);\n      daemon->custom_error_log = (_func_void_void_ptr_char_ptr_va_list *)puVar4[1];\n      daemon->custom_error_log_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0xe:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->worker_pool_size = uVar2;\n      if (uVar2 == 0) {\n        MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n      }\n      else {\n        if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n        daemon->worker_pool_size = 0;\n      }\n      goto LAB_00019ec0;\n    case 0xf:\n      ap = (va_list)(puVar4 + 2);\n      iVar3 = *(int *)puVar4[1];\n      if (iVar3 == 0) goto LAB_00019ec0;\n      piVar5 = (int *)puVar4[1] + 1;\n      goto LAB_0001a120;\n    case 0x10:\n      ap = (va_list)(puVar4 + 3);\n      daemon->unescape_callback = (UnescapeCallback)puVar4[1];\n      daemon->unescape_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x11:\n      ap = (va_list)(puVar4 + 3);\n      daemon->digest_auth_rand_size = puVar4[1];\n      daemon->digest_auth_random = (char *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x12:\n      ap = (va_list)(puVar4 + 2);\n      daemon->nonce_nc_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x13:\n      ap = (va_list)(puVar4 + 2);\n      daemon->thread_stack_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x14:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_trust = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x14;\n      break;\n    case 0x15:\n      ap = (va_list)(puVar4 + 2);\n      daemon->pool_increment = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x16:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x16;\n      break;\n    case 0x17:\n      ap = (va_list)(puVar4 + 2);\n      daemon->fastopen_queue_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x18:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        __s = (uchar *)puVar4[1];\n        iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }\n        dhpar.data = __s;\n        dhpar.size = strlen((char *)__s);\n        iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }\n        daemon->have_dhparams = true;\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x18;\n      break;\n    case 0x19:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listening_address_reuse = -(uint)(puVar4[1] == 0) | 1;\n      goto LAB_00019ec0;\n    case 0x1a:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_key_password = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x1a;\n      break;\n    case 0x1b:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_connection = (MHD_NotifyConnectionCallback)puVar4[1];\n      daemon->notify_connection_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x1c:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_backlog_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x1d:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->strict_for_client = uVar2;\n      if (((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1)) {\nLAB_00019f2e:\n        ap = (va_list)(puVar4 + 2);\n      }\n      else {\n        MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );\n      }\n      goto LAB_00019ec0;\n    case 0x1e:\n      goto _L348;\n    default:\n      if ((uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)) {\n        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      MHD_DLOG(daemon,format);\n      iVar3 = 0;\n      goto LAB_0001a402;\n    }\n    ap = (va_list)(puVar4 + 2);\n    MHD_DLOG(daemon,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar8);\n    goto LAB_00019ec0;\n  }\nLAB_00019f00:\n  iVar3 = 1;\n  goto LAB_0001a402;\n_L348:\n  daemon->cred_callback = (MHD_PskServerCredentialsCallback)puVar4[1];\n  daemon->cred_callback_cls = (void *)puVar4[2];\n  uVar2 = puVar4[3];\n  puVar4 = puVar4 + 3;\n  if (uVar2 == 0) goto LAB_00019f00;\n  goto LAB_00019ec6;\n  while( true ) {\n    iVar3 = parse_options(daemon,servaddr,iVar3,iVar6,iVar7);\n    if (iVar3 != 1) goto _L417;\n    iVar3 = piVar5[2];\n    piVar5 = piVar5 + 3;\n    if (iVar3 == 0) break;\nLAB_0001a120:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(iVar3) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar7 = 0;\n      iVar6 = piVar5[1];\n      break;\n    case 10:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 10;\n      break;\n    case 0xc:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0xc;\n      break;\n    case 0x11:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      iVar3 = 0x11;\n      break;\n    case 0x1d:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0x1d;\n      break;\n    default:\n      goto _L417;\n    }\n  }\n  goto LAB_00019ec0;\n_L378:\n  ap = (va_list)(puVar4 + 2);\n  daemon->pool_size = puVar4[1];\n  goto LAB_00019ec0;\n_L417:\n  iVar3 = 0;\nLAB_0001a402:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return iVar3;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uchar *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "gnutls_datum_t dhpar;" type_identifier identifier ;) (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) ))))) ;) (labeled_statement "LAB_00019ec0:\n  uVar2 = *(uint *)ap;" statement_identifier : (expression_statement "uVar2 = *(uint *)ap;" (assignment_expression "uVar2 = *(uint *)ap" identifier = (pointer_expression "*(uint *)ap" * (cast_expression "(uint *)ap" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "puVar4 = (uint *)ap;" (assignment_expression "puVar4 = (uint *)ap" identifier = (cast_expression "(uint *)ap" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar2 != 0) {\nLAB_00019ec6:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar2) {\n    case 1:\n      goto _L378;\n    case 2:\n      ap = (va_list)(puVar4 + 2);\n      daemon->connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 3:\n      ap = (va_list)(puVar4 + 2);\n      if ((int)puVar4[1] < 0) {\n        MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");\n        daemon->connection_timeout = 0;\n      }\n      else {\n        daemon->connection_timeout = puVar4[1];\n      }\n      goto LAB_00019ec0;\n    case 4:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_completed = (MHD_RequestCompletedCallback)puVar4[1];\n      daemon->notify_completed_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 5:\n      ap = (va_list)(puVar4 + 2);\n      daemon->per_ip_connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 6:\n      ap = (va_list)(puVar4 + 2);\n      *servaddr = (sockaddr *)puVar4[1];\n      goto LAB_00019ec0;\n    case 7:\n      ap = (va_list)(puVar4 + 3);\n      daemon->uri_log_callback = (LogCallback)puVar4[1];\n      daemon->uri_log_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 8:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_key = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 8;\n      break;\n    case 9:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_cert = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 9;\n      break;\n    case 10:\n      ap = (va_list)(puVar4 + 2);\n      daemon->cred_type = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xb:\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        uVar2 = puVar4[1];\n        gnutls_priority_deinit(daemon->priority_cache);\n        iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);\n        if (iVar3 == 0) goto LAB_00019f2e;\n        uVar8 = gnutls_strerror(iVar3);\n        MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);\n        iVar3 = 0;\n        daemon->priority_cache = (gnutls_priority_t)0x0;\n        goto LAB_0001a402;\n      }\n      uVar8 = 0xb;\n      break;\n    case 0xc:\n      if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n        format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_fd = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xd:\n      ap = (va_list)(puVar4 + 3);\n      daemon->custom_error_log = (_func_void_void_ptr_char_ptr_va_list *)puVar4[1];\n      daemon->custom_error_log_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0xe:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->worker_pool_size = uVar2;\n      if (uVar2 == 0) {\n        MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n      }\n      else {\n        if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n        daemon->worker_pool_size = 0;\n      }\n      goto LAB_00019ec0;\n    case 0xf:\n      ap = (va_list)(puVar4 + 2);\n      iVar3 = *(int *)puVar4[1];\n      if (iVar3 == 0) goto LAB_00019ec0;\n      piVar5 = (int *)puVar4[1] + 1;\n      goto LAB_0001a120;\n    case 0x10:\n      ap = (va_list)(puVar4 + 3);\n      daemon->unescape_callback = (UnescapeCallback)puVar4[1];\n      daemon->unescape_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x11:\n      ap = (va_list)(puVar4 + 3);\n      daemon->digest_auth_rand_size = puVar4[1];\n      daemon->digest_auth_random = (char *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x12:\n      ap = (va_list)(puVar4 + 2);\n      daemon->nonce_nc_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x13:\n      ap = (va_list)(puVar4 + 2);\n      daemon->thread_stack_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x14:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_trust = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x14;\n      break;\n    case 0x15:\n      ap = (va_list)(puVar4 + 2);\n      daemon->pool_increment = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x16:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x16;\n      break;\n    case 0x17:\n      ap = (va_list)(puVar4 + 2);\n      daemon->fastopen_queue_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x18:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        __s = (uchar *)puVar4[1];\n        iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }\n        dhpar.data = __s;\n        dhpar.size = strlen((char *)__s);\n        iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }\n        daemon->have_dhparams = true;\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x18;\n      break;\n    case 0x19:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listening_address_reuse = -(uint)(puVar4[1] == 0) | 1;\n      goto LAB_00019ec0;\n    case 0x1a:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_key_password = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x1a;\n      break;\n    case 0x1b:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_connection = (MHD_NotifyConnectionCallback)puVar4[1];\n      daemon->notify_connection_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x1c:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_backlog_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x1d:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->strict_for_client = uVar2;\n      if (((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1)) {\nLAB_00019f2e:\n        ap = (va_list)(puVar4 + 2);\n      }\n      else {\n        MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );\n      }\n      goto LAB_00019ec0;\n    case 0x1e:\n      goto _L348;\n    default:\n      if ((uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)) {\n        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      MHD_DLOG(daemon,format);\n      iVar3 = 0;\n      goto LAB_0001a402;\n    }\n    ap = (va_list)(puVar4 + 2);\n    MHD_DLOG(daemon,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar8);\n    goto LAB_00019ec0;\n  }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00019ec6:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar2) {\n    case 1:\n      goto _L378;\n    case 2:\n      ap = (va_list)(puVar4 + 2);\n      daemon->connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 3:\n      ap = (va_list)(puVar4 + 2);\n      if ((int)puVar4[1] < 0) {\n        MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");\n        daemon->connection_timeout = 0;\n      }\n      else {\n        daemon->connection_timeout = puVar4[1];\n      }\n      goto LAB_00019ec0;\n    case 4:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_completed = (MHD_RequestCompletedCallback)puVar4[1];\n      daemon->notify_completed_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 5:\n      ap = (va_list)(puVar4 + 2);\n      daemon->per_ip_connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 6:\n      ap = (va_list)(puVar4 + 2);\n      *servaddr = (sockaddr *)puVar4[1];\n      goto LAB_00019ec0;\n    case 7:\n      ap = (va_list)(puVar4 + 3);\n      daemon->uri_log_callback = (LogCallback)puVar4[1];\n      daemon->uri_log_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 8:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_key = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 8;\n      break;\n    case 9:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_cert = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 9;\n      break;\n    case 10:\n      ap = (va_list)(puVar4 + 2);\n      daemon->cred_type = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xb:\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        uVar2 = puVar4[1];\n        gnutls_priority_deinit(daemon->priority_cache);\n        iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);\n        if (iVar3 == 0) goto LAB_00019f2e;\n        uVar8 = gnutls_strerror(iVar3);\n        MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);\n        iVar3 = 0;\n        daemon->priority_cache = (gnutls_priority_t)0x0;\n        goto LAB_0001a402;\n      }\n      uVar8 = 0xb;\n      break;\n    case 0xc:\n      if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n        format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_fd = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xd:\n      ap = (va_list)(puVar4 + 3);\n      daemon->custom_error_log = (_func_void_void_ptr_char_ptr_va_list *)puVar4[1];\n      daemon->custom_error_log_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0xe:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->worker_pool_size = uVar2;\n      if (uVar2 == 0) {\n        MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n      }\n      else {\n        if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n        daemon->worker_pool_size = 0;\n      }\n      goto LAB_00019ec0;\n    case 0xf:\n      ap = (va_list)(puVar4 + 2);\n      iVar3 = *(int *)puVar4[1];\n      if (iVar3 == 0) goto LAB_00019ec0;\n      piVar5 = (int *)puVar4[1] + 1;\n      goto LAB_0001a120;\n    case 0x10:\n      ap = (va_list)(puVar4 + 3);\n      daemon->unescape_callback = (UnescapeCallback)puVar4[1];\n      daemon->unescape_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x11:\n      ap = (va_list)(puVar4 + 3);\n      daemon->digest_auth_rand_size = puVar4[1];\n      daemon->digest_auth_random = (char *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x12:\n      ap = (va_list)(puVar4 + 2);\n      daemon->nonce_nc_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x13:\n      ap = (va_list)(puVar4 + 2);\n      daemon->thread_stack_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x14:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_trust = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x14;\n      break;\n    case 0x15:\n      ap = (va_list)(puVar4 + 2);\n      daemon->pool_increment = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x16:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x16;\n      break;\n    case 0x17:\n      ap = (va_list)(puVar4 + 2);\n      daemon->fastopen_queue_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x18:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        __s = (uchar *)puVar4[1];\n        iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }\n        dhpar.data = __s;\n        dhpar.size = strlen((char *)__s);\n        iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }\n        daemon->have_dhparams = true;\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x18;\n      break;\n    case 0x19:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listening_address_reuse = -(uint)(puVar4[1] == 0) | 1;\n      goto LAB_00019ec0;\n    case 0x1a:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_key_password = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x1a;\n      break;\n    case 0x1b:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_connection = (MHD_NotifyConnectionCallback)puVar4[1];\n      daemon->notify_connection_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x1c:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_backlog_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x1d:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->strict_for_client = uVar2;\n      if (((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1)) {\nLAB_00019f2e:\n        ap = (va_list)(puVar4 + 2);\n      }\n      else {\n        MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );\n      }\n      goto LAB_00019ec0;\n    case 0x1e:\n      goto _L348;\n    default:\n      if ((uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)) {\n        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      MHD_DLOG(daemon,format);\n      iVar3 = 0;\n      goto LAB_0001a402;\n    }\n    ap = (va_list)(puVar4 + 2);\n    MHD_DLOG(daemon,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar8);\n    goto LAB_00019ec0;\n  }" { (labeled_statement "LAB_00019ec6:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(uVar2) {\n    case 1:\n      goto _L378;\n    case 2:\n      ap = (va_list)(puVar4 + 2);\n      daemon->connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 3:\n      ap = (va_list)(puVar4 + 2);\n      if ((int)puVar4[1] < 0) {\n        MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");\n        daemon->connection_timeout = 0;\n      }\n      else {\n        daemon->connection_timeout = puVar4[1];\n      }\n      goto LAB_00019ec0;\n    case 4:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_completed = (MHD_RequestCompletedCallback)puVar4[1];\n      daemon->notify_completed_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 5:\n      ap = (va_list)(puVar4 + 2);\n      daemon->per_ip_connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 6:\n      ap = (va_list)(puVar4 + 2);\n      *servaddr = (sockaddr *)puVar4[1];\n      goto LAB_00019ec0;\n    case 7:\n      ap = (va_list)(puVar4 + 3);\n      daemon->uri_log_callback = (LogCallback)puVar4[1];\n      daemon->uri_log_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 8:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_key = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 8;\n      break;\n    case 9:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_cert = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 9;\n      break;\n    case 10:\n      ap = (va_list)(puVar4 + 2);\n      daemon->cred_type = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xb:\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        uVar2 = puVar4[1];\n        gnutls_priority_deinit(daemon->priority_cache);\n        iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);\n        if (iVar3 == 0) goto LAB_00019f2e;\n        uVar8 = gnutls_strerror(iVar3);\n        MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);\n        iVar3 = 0;\n        daemon->priority_cache = (gnutls_priority_t)0x0;\n        goto LAB_0001a402;\n      }\n      uVar8 = 0xb;\n      break;\n    case 0xc:\n      if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n        format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_fd = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xd:\n      ap = (va_list)(puVar4 + 3);\n      daemon->custom_error_log = (_func_void_void_ptr_char_ptr_va_list *)puVar4[1];\n      daemon->custom_error_log_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0xe:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->worker_pool_size = uVar2;\n      if (uVar2 == 0) {\n        MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n      }\n      else {\n        if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n        daemon->worker_pool_size = 0;\n      }\n      goto LAB_00019ec0;\n    case 0xf:\n      ap = (va_list)(puVar4 + 2);\n      iVar3 = *(int *)puVar4[1];\n      if (iVar3 == 0) goto LAB_00019ec0;\n      piVar5 = (int *)puVar4[1] + 1;\n      goto LAB_0001a120;\n    case 0x10:\n      ap = (va_list)(puVar4 + 3);\n      daemon->unescape_callback = (UnescapeCallback)puVar4[1];\n      daemon->unescape_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x11:\n      ap = (va_list)(puVar4 + 3);\n      daemon->digest_auth_rand_size = puVar4[1];\n      daemon->digest_auth_random = (char *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x12:\n      ap = (va_list)(puVar4 + 2);\n      daemon->nonce_nc_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x13:\n      ap = (va_list)(puVar4 + 2);\n      daemon->thread_stack_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x14:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_trust = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x14;\n      break;\n    case 0x15:\n      ap = (va_list)(puVar4 + 2);\n      daemon->pool_increment = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x16:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x16;\n      break;\n    case 0x17:\n      ap = (va_list)(puVar4 + 2);\n      daemon->fastopen_queue_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x18:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        __s = (uchar *)puVar4[1];\n        iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }\n        dhpar.data = __s;\n        dhpar.size = strlen((char *)__s);\n        iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }\n        daemon->have_dhparams = true;\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x18;\n      break;\n    case 0x19:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listening_address_reuse = -(uint)(puVar4[1] == 0) | 1;\n      goto LAB_00019ec0;\n    case 0x1a:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_key_password = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x1a;\n      break;\n    case 0x1b:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_connection = (MHD_NotifyConnectionCallback)puVar4[1];\n      daemon->notify_connection_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x1c:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_backlog_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x1d:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->strict_for_client = uVar2;\n      if (((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1)) {\nLAB_00019f2e:\n        ap = (va_list)(puVar4 + 2);\n      }\n      else {\n        MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );\n      }\n      goto LAB_00019ec0;\n    case 0x1e:\n      goto _L348;\n    default:\n      if ((uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)) {\n        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      MHD_DLOG(daemon,format);\n      iVar3 = 0;\n      goto LAB_0001a402;\n    }" statement_identifier : comment (switch_statement "switch(uVar2) {\n    case 1:\n      goto _L378;\n    case 2:\n      ap = (va_list)(puVar4 + 2);\n      daemon->connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 3:\n      ap = (va_list)(puVar4 + 2);\n      if ((int)puVar4[1] < 0) {\n        MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");\n        daemon->connection_timeout = 0;\n      }\n      else {\n        daemon->connection_timeout = puVar4[1];\n      }\n      goto LAB_00019ec0;\n    case 4:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_completed = (MHD_RequestCompletedCallback)puVar4[1];\n      daemon->notify_completed_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 5:\n      ap = (va_list)(puVar4 + 2);\n      daemon->per_ip_connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 6:\n      ap = (va_list)(puVar4 + 2);\n      *servaddr = (sockaddr *)puVar4[1];\n      goto LAB_00019ec0;\n    case 7:\n      ap = (va_list)(puVar4 + 3);\n      daemon->uri_log_callback = (LogCallback)puVar4[1];\n      daemon->uri_log_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 8:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_key = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 8;\n      break;\n    case 9:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_cert = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 9;\n      break;\n    case 10:\n      ap = (va_list)(puVar4 + 2);\n      daemon->cred_type = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xb:\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        uVar2 = puVar4[1];\n        gnutls_priority_deinit(daemon->priority_cache);\n        iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);\n        if (iVar3 == 0) goto LAB_00019f2e;\n        uVar8 = gnutls_strerror(iVar3);\n        MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);\n        iVar3 = 0;\n        daemon->priority_cache = (gnutls_priority_t)0x0;\n        goto LAB_0001a402;\n      }\n      uVar8 = 0xb;\n      break;\n    case 0xc:\n      if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n        format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_fd = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xd:\n      ap = (va_list)(puVar4 + 3);\n      daemon->custom_error_log = (_func_void_void_ptr_char_ptr_va_list *)puVar4[1];\n      daemon->custom_error_log_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0xe:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->worker_pool_size = uVar2;\n      if (uVar2 == 0) {\n        MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n      }\n      else {\n        if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n        daemon->worker_pool_size = 0;\n      }\n      goto LAB_00019ec0;\n    case 0xf:\n      ap = (va_list)(puVar4 + 2);\n      iVar3 = *(int *)puVar4[1];\n      if (iVar3 == 0) goto LAB_00019ec0;\n      piVar5 = (int *)puVar4[1] + 1;\n      goto LAB_0001a120;\n    case 0x10:\n      ap = (va_list)(puVar4 + 3);\n      daemon->unescape_callback = (UnescapeCallback)puVar4[1];\n      daemon->unescape_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x11:\n      ap = (va_list)(puVar4 + 3);\n      daemon->digest_auth_rand_size = puVar4[1];\n      daemon->digest_auth_random = (char *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x12:\n      ap = (va_list)(puVar4 + 2);\n      daemon->nonce_nc_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x13:\n      ap = (va_list)(puVar4 + 2);\n      daemon->thread_stack_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x14:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_trust = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x14;\n      break;\n    case 0x15:\n      ap = (va_list)(puVar4 + 2);\n      daemon->pool_increment = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x16:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x16;\n      break;\n    case 0x17:\n      ap = (va_list)(puVar4 + 2);\n      daemon->fastopen_queue_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x18:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        __s = (uchar *)puVar4[1];\n        iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }\n        dhpar.data = __s;\n        dhpar.size = strlen((char *)__s);\n        iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }\n        daemon->have_dhparams = true;\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x18;\n      break;\n    case 0x19:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listening_address_reuse = -(uint)(puVar4[1] == 0) | 1;\n      goto LAB_00019ec0;\n    case 0x1a:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_key_password = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x1a;\n      break;\n    case 0x1b:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_connection = (MHD_NotifyConnectionCallback)puVar4[1];\n      daemon->notify_connection_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x1c:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_backlog_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x1d:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->strict_for_client = uVar2;\n      if (((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1)) {\nLAB_00019f2e:\n        ap = (va_list)(puVar4 + 2);\n      }\n      else {\n        MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );\n      }\n      goto LAB_00019ec0;\n    case 0x1e:\n      goto _L348;\n    default:\n      if ((uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)) {\n        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      MHD_DLOG(daemon,format);\n      iVar3 = 0;\n      goto LAB_0001a402;\n    }" switch (parenthesized_expression "(uVar2)" ( identifier )) (compound_statement "{\n    case 1:\n      goto _L378;\n    case 2:\n      ap = (va_list)(puVar4 + 2);\n      daemon->connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 3:\n      ap = (va_list)(puVar4 + 2);\n      if ((int)puVar4[1] < 0) {\n        MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");\n        daemon->connection_timeout = 0;\n      }\n      else {\n        daemon->connection_timeout = puVar4[1];\n      }\n      goto LAB_00019ec0;\n    case 4:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_completed = (MHD_RequestCompletedCallback)puVar4[1];\n      daemon->notify_completed_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 5:\n      ap = (va_list)(puVar4 + 2);\n      daemon->per_ip_connection_limit = puVar4[1];\n      goto LAB_00019ec0;\n    case 6:\n      ap = (va_list)(puVar4 + 2);\n      *servaddr = (sockaddr *)puVar4[1];\n      goto LAB_00019ec0;\n    case 7:\n      ap = (va_list)(puVar4 + 3);\n      daemon->uri_log_callback = (LogCallback)puVar4[1];\n      daemon->uri_log_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 8:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_key = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 8;\n      break;\n    case 9:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_cert = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 9;\n      break;\n    case 10:\n      ap = (va_list)(puVar4 + 2);\n      daemon->cred_type = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xb:\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        uVar2 = puVar4[1];\n        gnutls_priority_deinit(daemon->priority_cache);\n        iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);\n        if (iVar3 == 0) goto LAB_00019f2e;\n        uVar8 = gnutls_strerror(iVar3);\n        MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);\n        iVar3 = 0;\n        daemon->priority_cache = (gnutls_priority_t)0x0;\n        goto LAB_0001a402;\n      }\n      uVar8 = 0xb;\n      break;\n    case 0xc:\n      if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n        format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_fd = puVar4[1];\n      goto LAB_00019ec0;\n    case 0xd:\n      ap = (va_list)(puVar4 + 3);\n      daemon->custom_error_log = (_func_void_void_ptr_char_ptr_va_list *)puVar4[1];\n      daemon->custom_error_log_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0xe:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->worker_pool_size = uVar2;\n      if (uVar2 == 0) {\n        MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n      }\n      else {\n        if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n        daemon->worker_pool_size = 0;\n      }\n      goto LAB_00019ec0;\n    case 0xf:\n      ap = (va_list)(puVar4 + 2);\n      iVar3 = *(int *)puVar4[1];\n      if (iVar3 == 0) goto LAB_00019ec0;\n      piVar5 = (int *)puVar4[1] + 1;\n      goto LAB_0001a120;\n    case 0x10:\n      ap = (va_list)(puVar4 + 3);\n      daemon->unescape_callback = (UnescapeCallback)puVar4[1];\n      daemon->unescape_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x11:\n      ap = (va_list)(puVar4 + 3);\n      daemon->digest_auth_rand_size = puVar4[1];\n      daemon->digest_auth_random = (char *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x12:\n      ap = (va_list)(puVar4 + 2);\n      daemon->nonce_nc_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x13:\n      ap = (va_list)(puVar4 + 2);\n      daemon->thread_stack_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x14:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_trust = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x14;\n      break;\n    case 0x15:\n      ap = (va_list)(puVar4 + 2);\n      daemon->pool_increment = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x16:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x16;\n      break;\n    case 0x17:\n      ap = (va_list)(puVar4 + 2);\n      daemon->fastopen_queue_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x18:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        __s = (uchar *)puVar4[1];\n        iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }\n        dhpar.data = __s;\n        dhpar.size = strlen((char *)__s);\n        iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }\n        daemon->have_dhparams = true;\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x18;\n      break;\n    case 0x19:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listening_address_reuse = -(uint)(puVar4[1] == 0) | 1;\n      goto LAB_00019ec0;\n    case 0x1a:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_key_password = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x1a;\n      break;\n    case 0x1b:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_connection = (MHD_NotifyConnectionCallback)puVar4[1];\n      daemon->notify_connection_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;\n    case 0x1c:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_backlog_size = puVar4[1];\n      goto LAB_00019ec0;\n    case 0x1d:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->strict_for_client = uVar2;\n      if (((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1)) {\nLAB_00019f2e:\n        ap = (va_list)(puVar4 + 2);\n      }\n      else {\n        MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );\n      }\n      goto LAB_00019ec0;\n    case 0x1e:\n      goto _L348;\n    default:\n      if ((uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)) {\n        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      MHD_DLOG(daemon,format);\n      iVar3 = 0;\n      goto LAB_0001a402;\n    }" { (case_statement "case 1:\n      goto _L378;" case number_literal : (goto_statement "goto _L378;" goto statement_identifier ;)) (case_statement "case 2:\n      ap = (va_list)(puVar4 + 2);\n      daemon->connection_limit = puVar4[1];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "daemon->connection_limit = puVar4[1];" (assignment_expression "daemon->connection_limit = puVar4[1]" (field_expression "daemon->connection_limit" identifier -> field_identifier) = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 3:\n      ap = (va_list)(puVar4 + 2);\n      if ((int)puVar4[1] < 0) {\n        MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");\n        daemon->connection_timeout = 0;\n      }\n      else {\n        daemon->connection_timeout = puVar4[1];\n      }\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (if_statement "if ((int)puVar4[1] < 0) {\n        MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");\n        daemon->connection_timeout = 0;\n      }\n      else {\n        daemon->connection_timeout = puVar4[1];\n      }" if (parenthesized_expression "((int)puVar4[1] < 0)" ( (binary_expression "(int)puVar4[1] < 0" (cast_expression "(int)puVar4[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar4[1]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n        MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");\n        daemon->connection_timeout = 0;\n      }" { (expression_statement "MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n");" (call_expression "MHD_DLOG(daemon,"Warning: Too large timeout value, ignored.\n")" identifier (argument_list "(daemon,"Warning: Too large timeout value, ignored.\n")" ( identifier , (string_literal ""Warning: Too large timeout value, ignored.\n"" " string_content escape_sequence ") ))) ;) (expression_statement "daemon->connection_timeout = 0;" (assignment_expression "daemon->connection_timeout = 0" (field_expression "daemon->connection_timeout" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n        daemon->connection_timeout = puVar4[1];\n      }" else (compound_statement "{\n        daemon->connection_timeout = puVar4[1];\n      }" { (expression_statement "daemon->connection_timeout = puVar4[1];" (assignment_expression "daemon->connection_timeout = puVar4[1]" (field_expression "daemon->connection_timeout" identifier -> field_identifier) = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) }))) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 4:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_completed = (MHD_RequestCompletedCallback)puVar4[1];\n      daemon->notify_completed_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 3);" (assignment_expression "ap = (va_list)(puVar4 + 3)" identifier = (call_expression "(va_list)(puVar4 + 3)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 3)" ( (binary_expression "puVar4 + 3" identifier + number_literal) )))) ;) (expression_statement "daemon->notify_completed = (MHD_RequestCompletedCallback)puVar4[1];" (assignment_expression "daemon->notify_completed = (MHD_RequestCompletedCallback)puVar4[1]" (field_expression "daemon->notify_completed" identifier -> field_identifier) = (cast_expression "(MHD_RequestCompletedCallback)puVar4[1]" ( (type_descriptor "MHD_RequestCompletedCallback" type_identifier) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (expression_statement "daemon->notify_completed_cls = (void *)puVar4[2];" (assignment_expression "daemon->notify_completed_cls = (void *)puVar4[2]" (field_expression "daemon->notify_completed_cls" identifier -> field_identifier) = (cast_expression "(void *)puVar4[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[2]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 5:\n      ap = (va_list)(puVar4 + 2);\n      daemon->per_ip_connection_limit = puVar4[1];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "daemon->per_ip_connection_limit = puVar4[1];" (assignment_expression "daemon->per_ip_connection_limit = puVar4[1]" (field_expression "daemon->per_ip_connection_limit" identifier -> field_identifier) = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 6:\n      ap = (va_list)(puVar4 + 2);\n      *servaddr = (sockaddr *)puVar4[1];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "*servaddr = (sockaddr *)puVar4[1];" (assignment_expression "*servaddr = (sockaddr *)puVar4[1]" (pointer_expression "*servaddr" * identifier) = (cast_expression "(sockaddr *)puVar4[1]" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 7:\n      ap = (va_list)(puVar4 + 3);\n      daemon->uri_log_callback = (LogCallback)puVar4[1];\n      daemon->uri_log_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 3);" (assignment_expression "ap = (va_list)(puVar4 + 3)" identifier = (call_expression "(va_list)(puVar4 + 3)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 3)" ( (binary_expression "puVar4 + 3" identifier + number_literal) )))) ;) (expression_statement "daemon->uri_log_callback = (LogCallback)puVar4[1];" (assignment_expression "daemon->uri_log_callback = (LogCallback)puVar4[1]" (field_expression "daemon->uri_log_callback" identifier -> field_identifier) = (cast_expression "(LogCallback)puVar4[1]" ( (type_descriptor "LogCallback" type_identifier) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (expression_statement "daemon->uri_log_callback_cls = (void *)puVar4[2];" (assignment_expression "daemon->uri_log_callback_cls = (void *)puVar4[2]" (field_expression "daemon->uri_log_callback_cls" identifier -> field_identifier) = (cast_expression "(void *)puVar4[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[2]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 8:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_key = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 8;\n      break;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (if_statement "if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_key = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }" if (parenthesized_expression "((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_SSL) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_SSL)" ( (binary_expression "daemon->options & MHD_USE_SSL" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n        daemon->https_mem_key = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }" { (expression_statement "daemon->https_mem_key = (char *)puVar4[1];" (assignment_expression "daemon->https_mem_key = (char *)puVar4[1]" (field_expression "daemon->https_mem_key" identifier -> field_identifier) = (cast_expression "(char *)puVar4[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar8 = 8;" (assignment_expression "uVar8 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_cert = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 9;\n      break;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (if_statement "if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_cert = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }" if (parenthesized_expression "((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_SSL) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_SSL)" ( (binary_expression "daemon->options & MHD_USE_SSL" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n        daemon->https_mem_cert = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }" { (expression_statement "daemon->https_mem_cert = (char *)puVar4[1];" (assignment_expression "daemon->https_mem_cert = (char *)puVar4[1]" (field_expression "daemon->https_mem_cert" identifier -> field_identifier) = (cast_expression "(char *)puVar4[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar8 = 9;" (assignment_expression "uVar8 = 9" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      ap = (va_list)(puVar4 + 2);\n      daemon->cred_type = puVar4[1];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "daemon->cred_type = puVar4[1];" (assignment_expression "daemon->cred_type = puVar4[1]" (field_expression "daemon->cred_type" identifier -> field_identifier) = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0xb:\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        uVar2 = puVar4[1];\n        gnutls_priority_deinit(daemon->priority_cache);\n        iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);\n        if (iVar3 == 0) goto LAB_00019f2e;\n        uVar8 = gnutls_strerror(iVar3);\n        MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);\n        iVar3 = 0;\n        daemon->priority_cache = (gnutls_priority_t)0x0;\n        goto LAB_0001a402;\n      }\n      uVar8 = 0xb;\n      break;" case number_literal : (if_statement "if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        uVar2 = puVar4[1];\n        gnutls_priority_deinit(daemon->priority_cache);\n        iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);\n        if (iVar3 == 0) goto LAB_00019f2e;\n        uVar8 = gnutls_strerror(iVar3);\n        MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);\n        iVar3 = 0;\n        daemon->priority_cache = (gnutls_priority_t)0x0;\n        goto LAB_0001a402;\n      }" if (parenthesized_expression "((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_SSL) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_SSL)" ( (binary_expression "daemon->options & MHD_USE_SSL" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n        uVar2 = puVar4[1];\n        gnutls_priority_deinit(daemon->priority_cache);\n        iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);\n        if (iVar3 == 0) goto LAB_00019f2e;\n        uVar8 = gnutls_strerror(iVar3);\n        MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);\n        iVar3 = 0;\n        daemon->priority_cache = (gnutls_priority_t)0x0;\n        goto LAB_0001a402;\n      }" { (expression_statement "uVar2 = puVar4[1];" (assignment_expression "uVar2 = puVar4[1]" identifier = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (expression_statement "gnutls_priority_deinit(daemon->priority_cache);" (call_expression "gnutls_priority_deinit(daemon->priority_cache)" identifier (argument_list "(daemon->priority_cache)" ( (field_expression "daemon->priority_cache" identifier -> field_identifier) ))) ;) (expression_statement "iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0);" (assignment_expression "iVar3 = gnutls_priority_init(&daemon->priority_cache,uVar2,0)" identifier = (call_expression "gnutls_priority_init(&daemon->priority_cache,uVar2,0)" identifier (argument_list "(&daemon->priority_cache,uVar2,0)" ( (pointer_expression "&daemon->priority_cache" & (field_expression "daemon->priority_cache" identifier -> field_identifier)) , identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) goto LAB_00019f2e;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019f2e;" goto statement_identifier ;)) (expression_statement "uVar8 = gnutls_strerror(iVar3);" (assignment_expression "uVar8 = gnutls_strerror(iVar3)" identifier = (call_expression "gnutls_strerror(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8);" (call_expression "MHD_DLOG(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8)" identifier (argument_list "(daemon,"Setting priorities to `%s\' failed: %s\n",uVar2,uVar8)" ( identifier , (string_literal ""Setting priorities to `%s\' failed: %s\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "daemon->priority_cache = (gnutls_priority_t)0x0;" (assignment_expression "daemon->priority_cache = (gnutls_priority_t)0x0" (field_expression "daemon->priority_cache" identifier -> field_identifier) = (cast_expression "(gnutls_priority_t)0x0" ( (type_descriptor "gnutls_priority_t" type_identifier) ) number_literal)) ;) (goto_statement "goto LAB_0001a402;" goto statement_identifier ;) })) (expression_statement "uVar8 = 0xb;" (assignment_expression "uVar8 = 0xb" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n        format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_fd = puVar4[1];\n      goto LAB_00019ec0;" case number_literal : (if_statement "if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n        format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }" if (parenthesized_expression "((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_NO_LISTEN_SOCKET)" ( (binary_expression "daemon->options & MHD_USE_NO_LISTEN_SOCKET" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n        format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }" { (expression_statement "format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";" (assignment_expression "format = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n"" identifier = (string_literal ""MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0001a3c9;" goto statement_identifier ;) })) (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "daemon->listen_fd = puVar4[1];" (assignment_expression "daemon->listen_fd = puVar4[1]" (field_expression "daemon->listen_fd" identifier -> field_identifier) = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0xd:\n      ap = (va_list)(puVar4 + 3);\n      daemon->custom_error_log = (_func_void_void_ptr_char_ptr_va_list *)puVar4[1];\n      daemon->custom_error_log_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 3);" (assignment_expression "ap = (va_list)(puVar4 + 3)" identifier = (call_expression "(va_list)(puVar4 + 3)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 3)" ( (binary_expression "puVar4 + 3" identifier + number_literal) )))) ;) (expression_statement "daemon->custom_error_log = (_func_void_void_ptr_char_ptr_va_list *)puVar4[1];" (assignment_expression "daemon->custom_error_log = (_func_void_void_ptr_char_ptr_va_list *)puVar4[1]" (field_expression "daemon->custom_error_log" identifier -> field_identifier) = (cast_expression "(_func_void_void_ptr_char_ptr_va_list *)puVar4[1]" ( (type_descriptor "_func_void_void_ptr_char_ptr_va_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (expression_statement "daemon->custom_error_log_cls = (void *)puVar4[2];" (assignment_expression "daemon->custom_error_log_cls = (void *)puVar4[2]" (field_expression "daemon->custom_error_log_cls" identifier -> field_identifier) = (cast_expression "(void *)puVar4[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[2]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0xe:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->worker_pool_size = uVar2;\n      if (uVar2 == 0) {\n        MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n      }\n      else {\n        if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n        daemon->worker_pool_size = 0;\n      }\n      goto LAB_00019ec0;" case number_literal : (expression_statement "uVar2 = puVar4[1];" (assignment_expression "uVar2 = puVar4[1]" identifier = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "daemon->worker_pool_size = uVar2;" (assignment_expression "daemon->worker_pool_size = uVar2" (field_expression "daemon->worker_pool_size" identifier -> field_identifier) = identifier) ;) (if_statement "if (uVar2 == 0) {\n        MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n      }\n      else {\n        if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n        daemon->worker_pool_size = 0;\n      }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n      }" { (expression_statement "MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );" (call_expression "MHD_DLOG(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                )" identifier (argument_list "(daemon,\n                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                )" ( identifier , (string_literal ""Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n        if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n        daemon->worker_pool_size = 0;\n      }" else (compound_statement "{\n        if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );\n        daemon->worker_pool_size = 0;\n      }" { (if_statement "if (uVar2 != 1) {\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }" if (parenthesized_expression "(uVar2 != 1)" ( (binary_expression "uVar2 != 1" identifier != number_literal) )) (compound_statement "{\n          if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }" { (if_statement "if (uVar2 < 0xb02c0b) {\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            format = "Specified thread pool size (%u) too big\n";\n          }" if (parenthesized_expression "(uVar2 < 0xb02c0b)" ( (binary_expression "uVar2 < 0xb02c0b" identifier < number_literal) )) (compound_statement "{\n            if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }" { (if_statement "if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }" if (parenthesized_expression "((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)" ( (binary_expression "daemon->options & MHD_USE_INTERNAL_POLLING_THREAD" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) == identifier) )) (compound_statement "{\n              format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }" { (expression_statement "format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;" (assignment_expression "format = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"" identifier = (string_literal ""MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }" else (compound_statement "{\n              if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;\n              format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }" { (if_statement "if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)\n              goto LAB_00019f2e;" if (parenthesized_expression "((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "daemon->options & MHD_USE_THREAD_PER_CONNECTION" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) == identifier) )) (goto_statement "goto LAB_00019f2e;" goto statement_identifier ;)) (expression_statement "format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;" (assignment_expression "format = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"" identifier = (string_literal ""Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"" " string_content escape_sequence ")) ;) }))) }) (else_clause "else {\n            format = "Specified thread pool size (%u) too big\n";\n          }" else (compound_statement "{\n            format = "Specified thread pool size (%u) too big\n";\n          }" { (expression_statement "format = "Specified thread pool size (%u) too big\n";" (assignment_expression "format = "Specified thread pool size (%u) too big\n"" identifier = (string_literal ""Specified thread pool size (%u) too big\n"" " string_content escape_sequence ")) ;) }))) (goto_statement "goto LAB_0001a3c9;" goto statement_identifier ;) })) (expression_statement "MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                );" (call_expression "MHD_DLOG(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                )" identifier (argument_list "(daemon,\n                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                )" ( identifier , (string_literal ""Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "daemon->worker_pool_size = 0;" (assignment_expression "daemon->worker_pool_size = 0" (field_expression "daemon->worker_pool_size" identifier -> field_identifier) = number_literal) ;) }))) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0xf:\n      ap = (va_list)(puVar4 + 2);\n      iVar3 = *(int *)puVar4[1];\n      if (iVar3 == 0) goto LAB_00019ec0;\n      piVar5 = (int *)puVar4[1] + 1;\n      goto LAB_0001a120;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "iVar3 = *(int *)puVar4[1];" (assignment_expression "iVar3 = *(int *)puVar4[1]" identifier = (pointer_expression "*(int *)puVar4[1]" * (cast_expression "(int *)puVar4[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[1]" identifier [ number_literal ])))) ;) (if_statement "if (iVar3 == 0) goto LAB_00019ec0;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (expression_statement "piVar5 = (int *)puVar4[1] + 1;" (assignment_expression "piVar5 = (int *)puVar4[1] + 1" identifier = (binary_expression "(int *)puVar4[1] + 1" (cast_expression "(int *)puVar4[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[1]" identifier [ number_literal ])) + number_literal)) ;) (goto_statement "goto LAB_0001a120;" goto statement_identifier ;)) (case_statement "case 0x10:\n      ap = (va_list)(puVar4 + 3);\n      daemon->unescape_callback = (UnescapeCallback)puVar4[1];\n      daemon->unescape_callback_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 3);" (assignment_expression "ap = (va_list)(puVar4 + 3)" identifier = (call_expression "(va_list)(puVar4 + 3)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 3)" ( (binary_expression "puVar4 + 3" identifier + number_literal) )))) ;) (expression_statement "daemon->unescape_callback = (UnescapeCallback)puVar4[1];" (assignment_expression "daemon->unescape_callback = (UnescapeCallback)puVar4[1]" (field_expression "daemon->unescape_callback" identifier -> field_identifier) = (cast_expression "(UnescapeCallback)puVar4[1]" ( (type_descriptor "UnescapeCallback" type_identifier) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (expression_statement "daemon->unescape_callback_cls = (void *)puVar4[2];" (assignment_expression "daemon->unescape_callback_cls = (void *)puVar4[2]" (field_expression "daemon->unescape_callback_cls" identifier -> field_identifier) = (cast_expression "(void *)puVar4[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[2]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0x11:\n      ap = (va_list)(puVar4 + 3);\n      daemon->digest_auth_rand_size = puVar4[1];\n      daemon->digest_auth_random = (char *)puVar4[2];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 3);" (assignment_expression "ap = (va_list)(puVar4 + 3)" identifier = (call_expression "(va_list)(puVar4 + 3)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 3)" ( (binary_expression "puVar4 + 3" identifier + number_literal) )))) ;) (expression_statement "daemon->digest_auth_rand_size = puVar4[1];" (assignment_expression "daemon->digest_auth_rand_size = puVar4[1]" (field_expression "daemon->digest_auth_rand_size" identifier -> field_identifier) = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (expression_statement "daemon->digest_auth_random = (char *)puVar4[2];" (assignment_expression "daemon->digest_auth_random = (char *)puVar4[2]" (field_expression "daemon->digest_auth_random" identifier -> field_identifier) = (cast_expression "(char *)puVar4[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[2]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0x12:\n      ap = (va_list)(puVar4 + 2);\n      daemon->nonce_nc_size = puVar4[1];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "daemon->nonce_nc_size = puVar4[1];" (assignment_expression "daemon->nonce_nc_size = puVar4[1]" (field_expression "daemon->nonce_nc_size" identifier -> field_identifier) = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0x13:\n      ap = (va_list)(puVar4 + 2);\n      daemon->thread_stack_size = puVar4[1];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "daemon->thread_stack_size = puVar4[1];" (assignment_expression "daemon->thread_stack_size = puVar4[1]" (field_expression "daemon->thread_stack_size" identifier -> field_identifier) = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0x14:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_trust = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x14;\n      break;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (if_statement "if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_mem_trust = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }" if (parenthesized_expression "((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_SSL) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_SSL)" ( (binary_expression "daemon->options & MHD_USE_SSL" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n        daemon->https_mem_trust = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }" { (expression_statement "daemon->https_mem_trust = (char *)puVar4[1];" (assignment_expression "daemon->https_mem_trust = (char *)puVar4[1]" (field_expression "daemon->https_mem_trust" identifier -> field_identifier) = (cast_expression "(char *)puVar4[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar8 = 0x14;" (assignment_expression "uVar8 = 0x14" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x15:\n      ap = (va_list)(puVar4 + 2);\n      daemon->pool_increment = puVar4[1];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "daemon->pool_increment = puVar4[1];" (assignment_expression "daemon->pool_increment = puVar4[1]" (field_expression "daemon->pool_increment" identifier -> field_identifier) = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0x16:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x16;\n      break;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (if_statement "if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];\n        goto LAB_00019ec0;\n      }" if (parenthesized_expression "((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_SSL) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_SSL)" ( (binary_expression "daemon->options & MHD_USE_SSL" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n        daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];\n        goto LAB_00019ec0;\n      }" { (expression_statement "daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1];" (assignment_expression "daemon->cert_callback = (gnutls_certificate_retrieve_function2 *)puVar4[1]" (field_expression "daemon->cert_callback" identifier -> field_identifier) = (cast_expression "(gnutls_certificate_retrieve_function2 *)puVar4[1]" ( (type_descriptor "gnutls_certificate_retrieve_function2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar8 = 0x16;" (assignment_expression "uVar8 = 0x16" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x17:\n      ap = (va_list)(puVar4 + 2);\n      daemon->fastopen_queue_size = puVar4[1];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "daemon->fastopen_queue_size = puVar4[1];" (assignment_expression "daemon->fastopen_queue_size = puVar4[1]" (field_expression "daemon->fastopen_queue_size" identifier -> field_identifier) = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0x18:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        __s = (uchar *)puVar4[1];\n        iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }\n        dhpar.data = __s;\n        dhpar.size = strlen((char *)__s);\n        iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }\n        daemon->have_dhparams = true;\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x18;\n      break;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (if_statement "if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        __s = (uchar *)puVar4[1];\n        iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }\n        dhpar.data = __s;\n        dhpar.size = strlen((char *)__s);\n        iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }\n        daemon->have_dhparams = true;\n        goto LAB_00019ec0;\n      }" if (parenthesized_expression "((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_SSL) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_SSL)" ( (binary_expression "daemon->options & MHD_USE_SSL" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n        __s = (uchar *)puVar4[1];\n        iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }\n        dhpar.data = __s;\n        dhpar.size = strlen((char *)__s);\n        iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);\n        if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }\n        daemon->have_dhparams = true;\n        goto LAB_00019ec0;\n      }" { (expression_statement "__s = (uchar *)puVar4[1];" (assignment_expression "__s = (uchar *)puVar4[1]" identifier = (cast_expression "(uchar *)puVar4[1]" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams);" (assignment_expression "iVar3 = gnutls_dh_params_init(&daemon->https_mem_dhparams)" identifier = (call_expression "gnutls_dh_params_init(&daemon->https_mem_dhparams)" identifier (argument_list "(&daemon->https_mem_dhparams)" ( (pointer_expression "&daemon->https_mem_dhparams" & (field_expression "daemon->https_mem_dhparams" identifier -> field_identifier)) )))) ;) (if_statement "if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n          MHD_DLOG(daemon,"Error initializing DH parameters\n");\n          goto _L417;\n        }" { (expression_statement "MHD_DLOG(daemon,"Error initializing DH parameters\n");" (call_expression "MHD_DLOG(daemon,"Error initializing DH parameters\n")" identifier (argument_list "(daemon,"Error initializing DH parameters\n")" ( identifier , (string_literal ""Error initializing DH parameters\n"" " string_content escape_sequence ") ))) ;) (goto_statement "goto _L417;" goto statement_identifier ;) })) (expression_statement "dhpar.data = __s;" (assignment_expression "dhpar.data = __s" (field_expression "dhpar.data" identifier . field_identifier) = identifier) ;) (expression_statement "dhpar.size = strlen((char *)__s);" (assignment_expression "dhpar.size = strlen((char *)__s)" (field_expression "dhpar.size" identifier . field_identifier) = (call_expression "strlen((char *)__s)" identifier (argument_list "((char *)__s)" ( (cast_expression "(char *)__s" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1);" (assignment_expression "iVar3 = gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1)" identifier = (call_expression "gnutls_dh_params_import_pkcs3(daemon->https_mem_dhparams,&dhpar,1)" identifier (argument_list "(daemon->https_mem_dhparams,&dhpar,1)" ( (field_expression "daemon->https_mem_dhparams" identifier -> field_identifier) , (pointer_expression "&dhpar" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 < 0) {\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n          MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(daemon->https_mem_dhparams);\n          goto _L417;\n        }" { (expression_statement "MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n");" (call_expression "MHD_DLOG(daemon,"Bad Diffie-Hellman parameters format\n")" identifier (argument_list "(daemon,"Bad Diffie-Hellman parameters format\n")" ( identifier , (string_literal ""Bad Diffie-Hellman parameters format\n"" " string_content escape_sequence ") ))) ;) (expression_statement "gnutls_dh_params_deinit(daemon->https_mem_dhparams);" (call_expression "gnutls_dh_params_deinit(daemon->https_mem_dhparams)" identifier (argument_list "(daemon->https_mem_dhparams)" ( (field_expression "daemon->https_mem_dhparams" identifier -> field_identifier) ))) ;) (goto_statement "goto _L417;" goto statement_identifier ;) })) (expression_statement "daemon->have_dhparams = true;" (assignment_expression "daemon->have_dhparams = true" (field_expression "daemon->have_dhparams" identifier -> field_identifier) = true) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar8 = 0x18;" (assignment_expression "uVar8 = 0x18" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x19:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listening_address_reuse = -(uint)(puVar4[1] == 0) | 1;\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "daemon->listening_address_reuse = -(uint)(puVar4[1] == 0) | 1;" (assignment_expression "daemon->listening_address_reuse = -(uint)(puVar4[1] == 0) | 1" (field_expression "daemon->listening_address_reuse" identifier -> field_identifier) = (binary_expression "-(uint)(puVar4[1] == 0) | 1" (unary_expression "-(uint)(puVar4[1] == 0)" - (call_expression "(uint)(puVar4[1] == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar4[1] == 0)" ( (binary_expression "puVar4[1] == 0" (subscript_expression "puVar4[1]" identifier [ number_literal ]) == number_literal) )))) | number_literal)) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0x1a:\n      ap = (va_list)(puVar4 + 2);\n      if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_key_password = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }\n      uVar8 = 0x1a;\n      break;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (if_statement "if ((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG) {\n        daemon->https_key_password = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }" if (parenthesized_expression "((daemon->options & MHD_USE_SSL) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_SSL) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_SSL)" ( (binary_expression "daemon->options & MHD_USE_SSL" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n        daemon->https_key_password = (char *)puVar4[1];\n        goto LAB_00019ec0;\n      }" { (expression_statement "daemon->https_key_password = (char *)puVar4[1];" (assignment_expression "daemon->https_key_password = (char *)puVar4[1]" (field_expression "daemon->https_key_password" identifier -> field_identifier) = (cast_expression "(char *)puVar4[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar8 = 0x1a;" (assignment_expression "uVar8 = 0x1a" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x1b:\n      ap = (va_list)(puVar4 + 3);\n      daemon->notify_connection = (MHD_NotifyConnectionCallback)puVar4[1];\n      daemon->notify_connection_cls = (void *)puVar4[2];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 3);" (assignment_expression "ap = (va_list)(puVar4 + 3)" identifier = (call_expression "(va_list)(puVar4 + 3)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 3)" ( (binary_expression "puVar4 + 3" identifier + number_literal) )))) ;) (expression_statement "daemon->notify_connection = (MHD_NotifyConnectionCallback)puVar4[1];" (assignment_expression "daemon->notify_connection = (MHD_NotifyConnectionCallback)puVar4[1]" (field_expression "daemon->notify_connection" identifier -> field_identifier) = (cast_expression "(MHD_NotifyConnectionCallback)puVar4[1]" ( (type_descriptor "MHD_NotifyConnectionCallback" type_identifier) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;) (expression_statement "daemon->notify_connection_cls = (void *)puVar4[2];" (assignment_expression "daemon->notify_connection_cls = (void *)puVar4[2]" (field_expression "daemon->notify_connection_cls" identifier -> field_identifier) = (cast_expression "(void *)puVar4[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[2]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0x1c:\n      ap = (va_list)(puVar4 + 2);\n      daemon->listen_backlog_size = puVar4[1];\n      goto LAB_00019ec0;" case number_literal : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "daemon->listen_backlog_size = puVar4[1];" (assignment_expression "daemon->listen_backlog_size = puVar4[1]" (field_expression "daemon->listen_backlog_size" identifier -> field_identifier) = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0x1d:\n      uVar2 = puVar4[1];\n      ap = (va_list)(puVar4 + 2);\n      daemon->strict_for_client = uVar2;\n      if (((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1)) {\nLAB_00019f2e:\n        ap = (va_list)(puVar4 + 2);\n      }\n      else {\n        MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );\n      }\n      goto LAB_00019ec0;" case number_literal : (expression_statement "uVar2 = puVar4[1];" (assignment_expression "uVar2 = puVar4[1]" identifier = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "daemon->strict_for_client = uVar2;" (assignment_expression "daemon->strict_for_client = uVar2" (field_expression "daemon->strict_for_client" identifier -> field_identifier) = identifier) ;) (if_statement "if (((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1)) {\nLAB_00019f2e:\n        ap = (va_list)(puVar4 + 2);\n      }\n      else {\n        MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );\n      }" if (parenthesized_expression "(((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1))" ( (binary_expression "((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG) || (uVar2 == 1)" (parenthesized_expression "((daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_PEDANTIC_CHECKS) == MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_PEDANTIC_CHECKS)" ( (binary_expression "daemon->options & MHD_USE_PEDANTIC_CHECKS" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) == identifier) )) || (parenthesized_expression "(uVar2 == 1)" ( (binary_expression "uVar2 == 1" identifier == number_literal) ))) )) (compound_statement "{\nLAB_00019f2e:\n        ap = (va_list)(puVar4 + 2);\n      }" { (labeled_statement "LAB_00019f2e:\n        ap = (va_list)(puVar4 + 2);" statement_identifier : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;)) }) (else_clause "else {\n        MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );\n      }" else (compound_statement "{\n        MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );\n      }" { (expression_statement "MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                );" (call_expression "MHD_DLOG(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                )" identifier (argument_list "(daemon,\n                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                )" ( identifier , (string_literal ""Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"" " string_content escape_sequence ") ))) ;) }))) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;)) (case_statement "case 0x1e:\n      goto _L348;" case number_literal : (goto_statement "goto _L348;" goto statement_identifier ;)) (case_statement "default:\n      if ((uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)) {\n        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      MHD_DLOG(daemon,format);\n      iVar3 = 0;\n      goto LAB_0001a402;" default : (if_statement "if ((uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)) {\n        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }" if (parenthesized_expression "((uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0))" ( (binary_expression "(uVar2 < 0x1f) && ((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)" (parenthesized_expression "(uVar2 < 0x1f)" ( (binary_expression "uVar2 < 0x1f" identifier < number_literal) )) && (parenthesized_expression "((0x40100f00U >> (uVar2 & 0x1f) & 1) != 0)" ( (binary_expression "(0x40100f00U >> (uVar2 & 0x1f) & 1) != 0" (parenthesized_expression "(0x40100f00U >> (uVar2 & 0x1f) & 1)" ( (binary_expression "0x40100f00U >> (uVar2 & 0x1f) & 1" (binary_expression "0x40100f00U >> (uVar2 & 0x1f)" number_literal >> (parenthesized_expression "(uVar2 & 0x1f)" ( (binary_expression "uVar2 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }" { (expression_statement "format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";" (assignment_expression "format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n"" identifier = (string_literal ""MHD HTTPS option %d passed to MHD compiled without HTTPS support\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }" else (compound_statement "{\n        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }" { (expression_statement "format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";" (assignment_expression "format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n"" identifier = (string_literal ""Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n"" " string_content escape_sequence ")) ;) }))) (labeled_statement "LAB_0001a3c9:\n      MHD_DLOG(daemon,format);" statement_identifier : (expression_statement "MHD_DLOG(daemon,format);" (call_expression "MHD_DLOG(daemon,format)" identifier (argument_list "(daemon,format)" ( identifier , identifier ))) ;)) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001a402;" goto statement_identifier ;)) }))) (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "MHD_DLOG(daemon,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar8);" (call_expression "MHD_DLOG(daemon,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar8)" identifier (argument_list "(daemon,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar8)" ( identifier , (string_literal ""MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n"" " string_content escape_sequence ") , identifier ))) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;) })) (labeled_statement "LAB_00019f00:\n  iVar3 = 1;" statement_identifier : (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0001a402;" goto statement_identifier ;) (labeled_statement "_L348:\n  daemon->cred_callback = (MHD_PskServerCredentialsCallback)puVar4[1];" statement_identifier : (expression_statement "daemon->cred_callback = (MHD_PskServerCredentialsCallback)puVar4[1];" (assignment_expression "daemon->cred_callback = (MHD_PskServerCredentialsCallback)puVar4[1]" (field_expression "daemon->cred_callback" identifier -> field_identifier) = (cast_expression "(MHD_PskServerCredentialsCallback)puVar4[1]" ( (type_descriptor "MHD_PskServerCredentialsCallback" type_identifier) ) (subscript_expression "puVar4[1]" identifier [ number_literal ]))) ;)) (expression_statement "daemon->cred_callback_cls = (void *)puVar4[2];" (assignment_expression "daemon->cred_callback_cls = (void *)puVar4[2]" (field_expression "daemon->cred_callback_cls" identifier -> field_identifier) = (cast_expression "(void *)puVar4[2]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar4[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar2 = puVar4[3];" (assignment_expression "uVar2 = puVar4[3]" identifier = (subscript_expression "puVar4[3]" identifier [ number_literal ])) ;) (expression_statement "puVar4 = puVar4 + 3;" (assignment_expression "puVar4 = puVar4 + 3" identifier = (binary_expression "puVar4 + 3" identifier + number_literal)) ;) (if_statement "if (uVar2 == 0) goto LAB_00019f00;" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019f00;" goto statement_identifier ;)) (goto_statement "goto LAB_00019ec6;" goto statement_identifier ;) (while_statement "while( true ) {\n    iVar3 = parse_options(daemon,servaddr,iVar3,iVar6,iVar7);\n    if (iVar3 != 1) goto _L417;\n    iVar3 = piVar5[2];\n    piVar5 = piVar5 + 3;\n    if (iVar3 == 0) break;\nLAB_0001a120:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(iVar3) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar7 = 0;\n      iVar6 = piVar5[1];\n      break;\n    case 10:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 10;\n      break;\n    case 0xc:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0xc;\n      break;\n    case 0x11:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      iVar3 = 0x11;\n      break;\n    case 0x1d:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0x1d;\n      break;\n    default:\n      goto _L417;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar3 = parse_options(daemon,servaddr,iVar3,iVar6,iVar7);\n    if (iVar3 != 1) goto _L417;\n    iVar3 = piVar5[2];\n    piVar5 = piVar5 + 3;\n    if (iVar3 == 0) break;\nLAB_0001a120:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(iVar3) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar7 = 0;\n      iVar6 = piVar5[1];\n      break;\n    case 10:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 10;\n      break;\n    case 0xc:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0xc;\n      break;\n    case 0x11:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      iVar3 = 0x11;\n      break;\n    case 0x1d:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0x1d;\n      break;\n    default:\n      goto _L417;\n    }\n  }" { (expression_statement "iVar3 = parse_options(daemon,servaddr,iVar3,iVar6,iVar7);" (assignment_expression "iVar3 = parse_options(daemon,servaddr,iVar3,iVar6,iVar7)" identifier = (call_expression "parse_options(daemon,servaddr,iVar3,iVar6,iVar7)" identifier (argument_list "(daemon,servaddr,iVar3,iVar6,iVar7)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar3 != 1) goto _L417;" if (parenthesized_expression "(iVar3 != 1)" ( (binary_expression "iVar3 != 1" identifier != number_literal) )) (goto_statement "goto _L417;" goto statement_identifier ;)) (expression_statement "iVar3 = piVar5[2];" (assignment_expression "iVar3 = piVar5[2]" identifier = (subscript_expression "piVar5[2]" identifier [ number_literal ])) ;) (expression_statement "piVar5 = piVar5 + 3;" (assignment_expression "piVar5 = piVar5 + 3" identifier = (binary_expression "piVar5 + 3" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0) break;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001a120:\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n    switch(iVar3) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar7 = 0;\n      iVar6 = piVar5[1];\n      break;\n    case 10:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 10;\n      break;\n    case 0xc:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0xc;\n      break;\n    case 0x11:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      iVar3 = 0x11;\n      break;\n    case 0x1d:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0x1d;\n      break;\n    default:\n      goto _L417;\n    }" statement_identifier : comment (switch_statement "switch(iVar3) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar7 = 0;\n      iVar6 = piVar5[1];\n      break;\n    case 10:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 10;\n      break;\n    case 0xc:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0xc;\n      break;\n    case 0x11:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      iVar3 = 0x11;\n      break;\n    case 0x1d:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0x1d;\n      break;\n    default:\n      goto _L417;\n    }" switch (parenthesized_expression "(iVar3)" ( identifier )) (compound_statement "{\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar7 = 0;\n      iVar6 = piVar5[1];\n      break;\n    case 10:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 10;\n      break;\n    case 0xc:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0xc;\n      break;\n    case 0x11:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      iVar3 = 0x11;\n      break;\n    case 0x1d:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0x1d;\n      break;\n    default:\n      goto _L417;\n    }" { (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 5:" case number_literal :) (case_statement "case 0xe:" case number_literal :) (case_statement "case 0x12:" case number_literal :) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x19:" case number_literal :) (case_statement "case 0x1c:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      break;" case number_literal : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar6 = *piVar5;" (assignment_expression "iVar6 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 7:" case number_literal :) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x1b:" case number_literal :) (case_statement "case 0x1e:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      break;" case number_literal : (expression_statement "iVar7 = piVar5[1];" (assignment_expression "iVar7 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = *piVar5;" (assignment_expression "iVar6 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 6:" case number_literal :) (case_statement "case 8:" case number_literal :) (case_statement "case 9:" case number_literal :) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0xf:" case number_literal :) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x18:" case number_literal :) (case_statement "case 0x1a:\n      iVar7 = 0;\n      iVar6 = piVar5[1];\n      break;" case number_literal : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar6 = piVar5[1];" (assignment_expression "iVar6 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 10;\n      break;" case number_literal : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar6 = *piVar5;" (assignment_expression "iVar6 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "iVar3 = 10;" (assignment_expression "iVar3 = 10" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0xc;\n      break;" case number_literal : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar6 = *piVar5;" (assignment_expression "iVar6 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "iVar3 = 0xc;" (assignment_expression "iVar3 = 0xc" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n      iVar7 = piVar5[1];\n      iVar6 = *piVar5;\n      iVar3 = 0x11;\n      break;" case number_literal : (expression_statement "iVar7 = piVar5[1];" (assignment_expression "iVar7 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = *piVar5;" (assignment_expression "iVar6 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "iVar3 = 0x11;" (assignment_expression "iVar3 = 0x11" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x1d:\n      iVar7 = 0;\n      iVar6 = *piVar5;\n      iVar3 = 0x1d;\n      break;" case number_literal : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "iVar6 = *piVar5;" (assignment_expression "iVar6 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "iVar3 = 0x1d;" (assignment_expression "iVar3 = 0x1d" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n      goto _L417;" default : (goto_statement "goto _L417;" goto statement_identifier ;)) }))) })) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;) (labeled_statement "_L378:\n  ap = (va_list)(puVar4 + 2);" statement_identifier : (expression_statement "ap = (va_list)(puVar4 + 2);" (assignment_expression "ap = (va_list)(puVar4 + 2)" identifier = (call_expression "(va_list)(puVar4 + 2)" (parenthesized_expression "(va_list)" ( identifier )) (argument_list "(puVar4 + 2)" ( (binary_expression "puVar4 + 2" identifier + number_literal) )))) ;)) (expression_statement "daemon->pool_size = puVar4[1];" (assignment_expression "daemon->pool_size = puVar4[1]" (field_expression "daemon->pool_size" identifier -> field_identifier) = (subscript_expression "puVar4[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00019ec0;" goto statement_identifier ;) (labeled_statement "_L417:\n  iVar3 = 0;" statement_identifier : (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0001a402:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_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 iVar3;" return identifier ;) })))
(translation_unit "undefined4 __regparm3 FUN_00019e80(int param_1,uint *param_2,uint *param_3)\n\n{\n  uint uVar1;\n  int iVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  uint *puVar5;\n  int *piVar6;\n  int in_GS_OFFSET;\n  int iVar7;\n  int iVar8;\n  char *pcStack_28;\n  size_t sStack_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x19e8d;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\ncode_r0x00019ec0:\n  uVar1 = *param_3;\n  puVar5 = param_3;\n  if (uVar1 != 0) {\ncode_r0x00019ec6:\n                    \n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }\nLAB_00019f00:\n  uVar4 = 1;\n  goto LAB_0001a402;\ncode_r0x00019ee0:\n  *(uint *)(param_1 + 0x124) = puVar5[1];\n  *(uint *)(param_1 + 0x128) = puVar5[2];\n  uVar1 = puVar5[3];\n  puVar5 = puVar5 + 3;\n  if (uVar1 == 0) goto LAB_00019f00;\n  goto code_r0x00019ec6;\n  while( true ) {\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    \n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }\n  goto code_r0x00019ec0;\ncode_r0x0001a320:\n  param_3 = puVar5 + 2;\n  *(uint *)(param_1 + 0x7c) = puVar5[1];\n  goto code_r0x00019ec0;\ncode_r0x0001a400:\n  uVar4 = 0;\nLAB_0001a402:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000299b0();\n  }\n  return uVar4;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_00019e80(int param_1,uint *param_2,uint *param_3)\n\n{\n  uint uVar1;\n  int iVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  uint *puVar5;\n  int *piVar6;\n  int in_GS_OFFSET;\n  int iVar7;\n  int iVar8;\n  char *pcStack_28;\n  size_t sStack_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x19e8d;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\ncode_r0x00019ec0:\n  uVar1 = *param_3;\n  puVar5 = param_3;\n  if (uVar1 != 0) {\ncode_r0x00019ec6:\n                    \n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }\nLAB_00019f00:\n  uVar4 = 1;\n  goto LAB_0001a402;\ncode_r0x00019ee0:\n  *(uint *)(param_1 + 0x124) = puVar5[1];\n  *(uint *)(param_1 + 0x128) = puVar5[2];\n  uVar1 = puVar5[3];\n  puVar5 = puVar5 + 3;\n  if (uVar1 == 0) goto LAB_00019f00;\n  goto code_r0x00019ec6;\n  while( true ) {\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    \n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }\n  goto code_r0x00019ec0;\ncode_r0x0001a320:\n  param_3 = puVar5 + 2;\n  *(uint *)(param_1 + 0x7c) = puVar5[1];\n  goto code_r0x00019ec0;\ncode_r0x0001a400:\n  uVar4 = 0;\nLAB_0001a402:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000299b0();\n  }\n  return uVar4;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00019e80(int param_1,uint *param_2,uint *param_3)" identifier (parameter_list "(int param_1,uint *param_2,uint *param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  uint *puVar5;\n  int *piVar6;\n  int in_GS_OFFSET;\n  int iVar7;\n  int iVar8;\n  char *pcStack_28;\n  size_t sStack_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x19e8d;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\ncode_r0x00019ec0:\n  uVar1 = *param_3;\n  puVar5 = param_3;\n  if (uVar1 != 0) {\ncode_r0x00019ec6:\n                    \n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }\nLAB_00019f00:\n  uVar4 = 1;\n  goto LAB_0001a402;\ncode_r0x00019ee0:\n  *(uint *)(param_1 + 0x124) = puVar5[1];\n  *(uint *)(param_1 + 0x128) = puVar5[2];\n  uVar1 = puVar5[3];\n  puVar5 = puVar5 + 3;\n  if (uVar1 == 0) goto LAB_00019f00;\n  goto code_r0x00019ec6;\n  while( true ) {\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    \n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }\n  goto code_r0x00019ec0;\ncode_r0x0001a320:\n  param_3 = puVar5 + 2;\n  *(uint *)(param_1 + 0x7c) = puVar5[1];\n  goto code_r0x00019ec0;\ncode_r0x0001a400:\n  uVar4 = 0;\nLAB_0001a402:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000299b0();\n  }\n  return uVar4;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcStack_28;" primitive_type (pointer_declarator "*pcStack_28" * identifier) ;) (declaration "size_t sStack_24;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x19e8d;" (assignment_expression "uStack_14 = 0x19e8d" 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) ))))) ;) (labeled_statement "code_r0x00019ec0:\n  uVar1 = *param_3;" statement_identifier : (expression_statement "uVar1 = *param_3;" (assignment_expression "uVar1 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) (expression_statement "puVar5 = param_3;" (assignment_expression "puVar5 = param_3" identifier = identifier) ;) (if_statement "if (uVar1 != 0) {\ncode_r0x00019ec6:\n                    \n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\ncode_r0x00019ec6:\n                    \n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }" { (labeled_statement "code_r0x00019ec6:\n                    \n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }" statement_identifier : (switch_statement "switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }" switch (parenthesized_expression "(uVar1)" ( identifier )) (compound_statement "{\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }" { (case_statement "case 1:\n      goto code_r0x0001a320;" case number_literal : (goto_statement "goto code_r0x0001a320;" goto statement_identifier ;)) (case_statement "case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0xec) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0xec) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0xec)" * (cast_expression "(uint *)(param_1 + 0xec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xec)" ( (binary_expression "param_1 + 0xec" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }" if (parenthesized_expression "((int)puVar5[1] < 0)" ( (binary_expression "(int)puVar5[1] < 0" (cast_expression "(int)puVar5[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar5[1]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }" { (expression_statement "FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");" (call_expression "FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n")" identifier (argument_list "(param_1,"Warning: Too large timeout value, ignored.\n")" ( identifier , (string_literal ""Warning: Too large timeout value, ignored.\n"" " string_content escape_sequence ") ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0xf0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xf0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xf0)" * (cast_expression "(undefined4 *)(param_1 + 0xf0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf0)" ( (binary_expression "param_1 + 0xf0" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }" else (compound_statement "{\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }" { (expression_statement "*(uint *)(param_1 + 0xf0) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0xf0) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0xf0)" * (cast_expression "(uint *)(param_1 + 0xf0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf0)" ( (binary_expression "param_1 + 0xf0" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) }))) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x48) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x48) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x48)" * (cast_expression "(uint *)(param_1 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_1 + 0x4c) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x4c) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x4c)" * (cast_expression "(uint *)(param_1 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0xf4) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0xf4) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0xf4)" * (cast_expression "(uint *)(param_1 + 0xf4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf4)" ( (binary_expression "param_1 + 0xf4" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*param_2 = puVar5[1];" (assignment_expression "*param_2 = puVar5[1]" (pointer_expression "*param_2" * identifier) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x58) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x58) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x58)" * (cast_expression "(uint *)(param_1 + 0x58)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_1 + 0x5c) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x5c) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x5c)" * (cast_expression "(uint *)(param_1 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" { (expression_statement "*(uint *)(param_1 + 300) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 300) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 300)" * (cast_expression "(uint *)(param_1 + 300)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 300)" ( (binary_expression "param_1 + 300" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar4 = 8;" (assignment_expression "uVar4 = 8" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" { (expression_statement "*(uint *)(param_1 + 0x130) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x130) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x130)" * (cast_expression "(uint *)(param_1 + 0x130)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x130)" ( (binary_expression "param_1 + 0x130" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar4 = 9;" (assignment_expression "uVar4 = 9" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x110) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x110) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x110)" * (cast_expression "(uint *)(param_1 + 0x110)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x110)" ( (binary_expression "param_1 + 0x110" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;" case number_literal : (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }" { (expression_statement "uVar1 = puVar5[1];" (assignment_expression "uVar1 = puVar5[1]" identifier = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));" (call_expression "gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x10c))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x10c)" * (cast_expression "(undefined4 *)(param_1 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10c)" ( (binary_expression "param_1 + 0x10c" identifier + number_literal) )))) ))) ;) (expression_statement "iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);" (assignment_expression "iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0)" identifier = (call_expression "gnutls_priority_init(param_1 + 0x10c,uVar1,0)" identifier (argument_list "(param_1 + 0x10c,uVar1,0)" ( (binary_expression "param_1 + 0x10c" identifier + number_literal) , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) goto code_r0x00019f2e;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00019f2e;" goto statement_identifier ;)) (expression_statement "uVar4 = gnutls_strerror(iVar2);" (assignment_expression "uVar4 = gnutls_strerror(iVar2)" identifier = (call_expression "gnutls_strerror(iVar2)" identifier (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);" (call_expression "FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4)" identifier (argument_list "(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4)" ( identifier , (string_literal ""Setting priorities to `%s\' failed: %s\n"" " string_content escape_sequence string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x10c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10c)" * (cast_expression "(undefined4 *)(param_1 + 0x10c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10c)" ( (binary_expression "param_1 + 0x10c" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001a402;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0xb;" (assignment_expression "uVar4 = 0xb" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (if_statement "if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf9) & 1) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf9) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf9) & 1)" ( (binary_expression "*(byte *)(param_1 + 0xf9) & 1" (pointer_expression "*(byte *)(param_1 + 0xf9)" * (cast_expression "(byte *)(param_1 + 0xf9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf9)" ( (binary_expression "param_1 + 0xf9" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }" { (expression_statement "pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";" (assignment_expression "pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n"" identifier = (string_literal ""MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0001a3c9;" goto statement_identifier ;) })) (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0xc4) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0xc4) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0xc4)" * (cast_expression "(uint *)(param_1 + 0xc4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc4)" ( (binary_expression "param_1 + 0xc4" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x68) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x68) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x68)" * (cast_expression "(uint *)(param_1 + 0x68)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_1 + 0x6c) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x6c) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x6c)" * (cast_expression "(uint *)(param_1 + 0x6c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "uVar1 = puVar5[1];" (assignment_expression "uVar1 = puVar5[1]" identifier = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x88) = uVar1;" (assignment_expression "*(uint *)(param_1 + 0x88) = uVar1" (pointer_expression "*(uint *)(param_1 + 0x88)" * (cast_expression "(uint *)(param_1 + 0x88)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) )))) = identifier) ;) (if_statement "if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }" { (expression_statement "FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );" (call_expression "FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    )" identifier (argument_list "(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    )" ( identifier , (string_literal ""Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"" " string_content escape_sequence ") ))) ;) }) (else_clause "else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }" else (compound_statement "{\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }" { (if_statement "if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }" if (parenthesized_expression "(uVar1 != 1)" ( (binary_expression "uVar1 != 1" identifier != number_literal) )) (compound_statement "{\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }" { (if_statement "if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }" if (parenthesized_expression "(uVar1 < 0xb02c0b)" ( (binary_expression "uVar1 < 0xb02c0b" identifier < number_literal) )) (compound_statement "{\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }" { (if_statement "if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }" if (parenthesized_expression "((*(uint *)(param_1 + 0xf8) & 8) == 0)" ( (binary_expression "(*(uint *)(param_1 + 0xf8) & 8) == 0" (parenthesized_expression "(*(uint *)(param_1 + 0xf8) & 8)" ( (binary_expression "*(uint *)(param_1 + 0xf8) & 8" (pointer_expression "*(uint *)(param_1 + 0xf8)" * (cast_expression "(uint *)(param_1 + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }" { (expression_statement "pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;" (assignment_expression "pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"" identifier = (string_literal ""MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }" else (compound_statement "{\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }" { (if_statement "if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;" if (parenthesized_expression "((*(uint *)(param_1 + 0xf8) & 4) == 0)" ( (binary_expression "(*(uint *)(param_1 + 0xf8) & 4) == 0" (parenthesized_expression "(*(uint *)(param_1 + 0xf8) & 4)" ( (binary_expression "*(uint *)(param_1 + 0xf8) & 4" (pointer_expression "*(uint *)(param_1 + 0xf8)" * (cast_expression "(uint *)(param_1 + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto code_r0x00019f2e;" goto statement_identifier ;)) (expression_statement "pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;" (assignment_expression "pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"" identifier = (string_literal ""Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"" " string_content escape_sequence ")) ;) }))) }) (else_clause "else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }" else (compound_statement "{\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }" { (expression_statement "pcVar3 = "Specified thread pool size (%u) too big\n";" (assignment_expression "pcVar3 = "Specified thread pool size (%u) too big\n"" identifier = (string_literal ""Specified thread pool size (%u) too big\n"" " string_content escape_sequence ")) ;) }))) (goto_statement "goto LAB_0001a3c9;" goto statement_identifier ;) })) (expression_statement "FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );" (call_expression "FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    )" identifier (argument_list "(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    )" ( identifier , (string_literal ""Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x88) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x88) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x88)" * (cast_expression "(undefined4 *)(param_1 + 0x88)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) )))) = number_literal) ;) }))) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "iVar2 = *(int *)puVar5[1];" (assignment_expression "iVar2 = *(int *)puVar5[1]" identifier = (pointer_expression "*(int *)puVar5[1]" * (cast_expression "(int *)puVar5[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[1]" identifier [ number_literal ])))) ;) (if_statement "if (iVar2 == 0) goto code_r0x00019ec0;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (expression_statement "piVar6 = (int *)puVar5[1] + 1;" (assignment_expression "piVar6 = (int *)puVar5[1] + 1" identifier = (binary_expression "(int *)puVar5[1] + 1" (cast_expression "(int *)puVar5[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[1]" identifier [ number_literal ])) + number_literal)) ;) (goto_statement "goto code_r0x0001a120;" goto statement_identifier ;)) (case_statement "case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x60) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x60) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x60)" * (cast_expression "(uint *)(param_1 + 0x60)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_1 + 100) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 100) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 100)" * (cast_expression "(uint *)(param_1 + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x164) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x164) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x164)" * (cast_expression "(uint *)(param_1 + 0x164)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x164)" ( (binary_expression "param_1 + 0x164" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_1 + 0x144) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x144) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x144)" * (cast_expression "(uint *)(param_1 + 0x144)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x144)" ( (binary_expression "param_1 + 0x144" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x168) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x168) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x168)" * (cast_expression "(uint *)(param_1 + 0x168)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x168)" ( (binary_expression "param_1 + 0x168" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x84) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x84) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x84)" * (cast_expression "(uint *)(param_1 + 0x84)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" { (expression_statement "*(uint *)(param_1 + 0x138) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x138) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x138)" * (cast_expression "(uint *)(param_1 + 0x138)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x138)" ( (binary_expression "param_1 + 0x138" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0x14;" (assignment_expression "uVar4 = 0x14" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x80) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x80) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x80)" * (cast_expression "(uint *)(param_1 + 0x80)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x80)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" { (expression_statement "*(uint *)(param_1 + 0x120) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x120) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x120)" * (cast_expression "(uint *)(param_1 + 0x120)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x120)" ( (binary_expression "param_1 + 0x120" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0x16;" (assignment_expression "uVar4 = 0x16" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x16c) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x16c) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x16c)" * (cast_expression "(uint *)(param_1 + 0x16c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x16c)" ( (binary_expression "param_1 + 0x16c" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }" { (expression_statement "pcVar3 = (char *)puVar5[1];" (assignment_expression "pcVar3 = (char *)puVar5[1]" identifier = (cast_expression "(char *)puVar5[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar5[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar2 = func_0x00013680(param_1 + 0x13c);" (assignment_expression "iVar2 = func_0x00013680(param_1 + 0x13c)" identifier = (call_expression "func_0x00013680(param_1 + 0x13c)" identifier (argument_list "(param_1 + 0x13c)" ( (binary_expression "param_1 + 0x13c" identifier + number_literal) )))) ;) (if_statement "if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }" { (expression_statement "FUN_000215b0(param_1,"Error initializing DH parameters\n");" (call_expression "FUN_000215b0(param_1,"Error initializing DH parameters\n")" identifier (argument_list "(param_1,"Error initializing DH parameters\n")" ( identifier , (string_literal ""Error initializing DH parameters\n"" " string_content escape_sequence ") ))) ;) (goto_statement "goto code_r0x0001a400;" goto statement_identifier ;) })) (expression_statement "pcStack_28 = pcVar3;" (assignment_expression "pcStack_28 = pcVar3" identifier = identifier) ;) (expression_statement "sStack_24 = strlen(pcVar3);" (assignment_expression "sStack_24 = strlen(pcVar3)" identifier = (call_expression "strlen(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier )))) ;) (expression_statement "iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);" (assignment_expression "iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1)" identifier = (call_expression "func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1)" identifier (argument_list "(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1)" ( (pointer_expression "*(undefined4 *)(param_1 + 0x13c)" * (cast_expression "(undefined4 *)(param_1 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x13c)" ( (binary_expression "param_1 + 0x13c" identifier + number_literal) )))) , (pointer_expression "&pcStack_28" & identifier) , number_literal )))) ;) (if_statement "if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }" { (expression_statement "FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");" (call_expression "FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n")" identifier (argument_list "(param_1,"Bad Diffie-Hellman parameters format\n")" ( identifier , (string_literal ""Bad Diffie-Hellman parameters format\n"" " string_content escape_sequence ") ))) ;) (expression_statement "gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));" (call_expression "gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c))" identifier (argument_list "(*(undefined4 *)(param_1 + 0x13c))" ( (pointer_expression "*(undefined4 *)(param_1 + 0x13c)" * (cast_expression "(undefined4 *)(param_1 + 0x13c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x13c)" ( (binary_expression "param_1 + 0x13c" identifier + number_literal) )))) ))) ;) (goto_statement "goto code_r0x0001a400;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_1 + 0x140) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x140) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x140)" * (cast_expression "(undefined1 *)(param_1 + 0x140)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x140)" ( (binary_expression "param_1 + 0x140" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0x18;" (assignment_expression "uVar4 = 0x18" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;" (assignment_expression "*(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1" (pointer_expression "*(uint *)(param_1 + 200)" * (cast_expression "(uint *)(param_1 + 200)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 200)" ( (binary_expression "param_1 + 200" identifier + number_literal) )))) = (binary_expression "-(uint)(puVar5[1] == 0) | 1" (unary_expression "-(uint)(puVar5[1] == 0)" - (call_expression "(uint)(puVar5[1] == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar5[1] == 0)" ( (binary_expression "puVar5[1] == 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) == number_literal) )))) | number_literal)) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" if (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" { (expression_statement "*(uint *)(param_1 + 0x134) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x134) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x134)" * (cast_expression "(uint *)(param_1 + 0x134)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x134)" ( (binary_expression "param_1 + 0x134" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0x1a;" (assignment_expression "uVar4 = 0x1a" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x50) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x50) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x50)" * (cast_expression "(uint *)(param_1 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(param_1 + 0x54) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x54) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x54)" * (cast_expression "(uint *)(param_1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x170) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x170) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x170)" * (cast_expression "(uint *)(param_1 + 0x170)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x170)" ( (binary_expression "param_1 + 0x170" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;" case number_literal : (expression_statement "uVar1 = puVar5[1];" (assignment_expression "uVar1 = puVar5[1]" identifier = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "*(uint *)(param_1 + 0x100) = uVar1;" (assignment_expression "*(uint *)(param_1 + 0x100) = uVar1" (pointer_expression "*(uint *)(param_1 + 0x100)" * (cast_expression "(uint *)(param_1 + 0x100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x100)" ( (binary_expression "param_1 + 0x100" identifier + number_literal) )))) = identifier) ;) (if_statement "if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }" if (parenthesized_expression "(((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1))" ( (binary_expression "((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)" (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 0x20) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0xf8) & 0x20) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 0x20)" ( (binary_expression "*(byte *)(param_1 + 0xf8) & 0x20" (pointer_expression "*(byte *)(param_1 + 0xf8)" * (cast_expression "(byte *)(param_1 + 0xf8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar1 == 1)" ( (binary_expression "uVar1 == 1" identifier == number_literal) ))) )) (compound_statement "{\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }" { (labeled_statement "code_r0x00019f2e:\n        param_3 = puVar5 + 2;" statement_identifier : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;)) }) (else_clause "else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }" else (compound_statement "{\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }" { (expression_statement "FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );" (call_expression "FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    )" identifier (argument_list "(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    )" ( identifier , (string_literal ""Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"" " string_content escape_sequence ") ))) ;) }))) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;)) (case_statement "case 0x1e:\n      goto code_r0x00019ee0;" case number_literal : (goto_statement "goto code_r0x00019ee0;" goto statement_identifier ;)) (case_statement "default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;" default : (if_statement "if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }" if (parenthesized_expression "((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0))" ( (binary_expression "(uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)" (parenthesized_expression "(uVar1 < 0x1f)" ( (binary_expression "uVar1 < 0x1f" identifier < number_literal) )) && (parenthesized_expression "((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)" ( (binary_expression "(0x40100f00U >> (uVar1 & 0x1f) & 1) != 0" (parenthesized_expression "(0x40100f00U >> (uVar1 & 0x1f) & 1)" ( (binary_expression "0x40100f00U >> (uVar1 & 0x1f) & 1" (binary_expression "0x40100f00U >> (uVar1 & 0x1f)" number_literal >> (parenthesized_expression "(uVar1 & 0x1f)" ( (binary_expression "uVar1 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }" { (expression_statement "pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";" (assignment_expression "pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n"" identifier = (string_literal ""MHD HTTPS option %d passed to MHD compiled without HTTPS support\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }" else (compound_statement "{\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }" { (expression_statement "pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";" (assignment_expression "pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n"" identifier = (string_literal ""Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n"" " string_content escape_sequence ")) ;) }))) (labeled_statement "LAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);" statement_identifier : (expression_statement "FUN_000215b0(param_1,pcVar3);" (call_expression "FUN_000215b0(param_1,pcVar3)" identifier (argument_list "(param_1,pcVar3)" ( identifier , identifier ))) ;)) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001a402;" goto statement_identifier ;)) }))) (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;) (expression_statement "FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);" (call_expression "FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4)" identifier (argument_list "(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4)" ( identifier , (string_literal ""MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n"" " string_content escape_sequence ") , identifier ))) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) })) (labeled_statement "LAB_00019f00:\n  uVar4 = 1;" statement_identifier : (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0001a402;" goto statement_identifier ;) (labeled_statement "code_r0x00019ee0:\n  *(uint *)(param_1 + 0x124) = puVar5[1];" statement_identifier : (expression_statement "*(uint *)(param_1 + 0x124) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x124) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x124)" * (cast_expression "(uint *)(param_1 + 0x124)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x124)" ( (binary_expression "param_1 + 0x124" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;)) (expression_statement "*(uint *)(param_1 + 0x128) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x128) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x128)" * (cast_expression "(uint *)(param_1 + 0x128)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x128)" ( (binary_expression "param_1 + 0x128" identifier + number_literal) )))) = (subscript_expression "puVar5[2]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = puVar5[3];" (assignment_expression "uVar1 = puVar5[3]" identifier = (subscript_expression "puVar5[3]" identifier [ number_literal ])) ;) (expression_statement "puVar5 = puVar5 + 3;" (assignment_expression "puVar5 = puVar5 + 3" identifier = (binary_expression "puVar5 + 3" identifier + number_literal)) ;) (if_statement "if (uVar1 == 0) goto LAB_00019f00;" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019f00;" goto statement_identifier ;)) (goto_statement "goto code_r0x00019ec6;" goto statement_identifier ;) (while_statement "while( true ) {\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    \n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    \n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }" { (expression_statement "iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);" (assignment_expression "iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8)" identifier = (call_expression "FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8)" identifier (argument_list "(param_1,param_2,iVar2,iVar7,iVar8)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar2 != 1) goto code_r0x0001a400;" if (parenthesized_expression "(iVar2 != 1)" ( (binary_expression "iVar2 != 1" identifier != number_literal) )) (goto_statement "goto code_r0x0001a400;" goto statement_identifier ;)) (expression_statement "iVar2 = piVar6[2];" (assignment_expression "iVar2 = piVar6[2]" identifier = (subscript_expression "piVar6[2]" identifier [ number_literal ])) ;) (expression_statement "piVar6 = piVar6 + 3;" (assignment_expression "piVar6 = piVar6 + 3" identifier = (binary_expression "piVar6 + 3" identifier + number_literal)) ;) (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "code_r0x0001a120:\n                    \n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }" statement_identifier : (switch_statement "switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }" switch (parenthesized_expression "(iVar2)" ( identifier )) (compound_statement "{\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }" { (case_statement "case 1:" case number_literal :) (case_statement "case 2:" case number_literal :) (case_statement "case 3:" case number_literal :) (case_statement "case 5:" case number_literal :) (case_statement "case 0xe:" case number_literal :) (case_statement "case 0x12:" case number_literal :) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x19:" case number_literal :) (case_statement "case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;" case number_literal : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 7:" case number_literal :) (case_statement "case 0xd:" case number_literal :) (case_statement "case 0x10:" case number_literal :) (case_statement "case 0x1b:" case number_literal :) (case_statement "case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;" case number_literal : (expression_statement "iVar8 = piVar6[1];" (assignment_expression "iVar8 = piVar6[1]" identifier = (subscript_expression "piVar6[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 6:" case number_literal :) (case_statement "case 8:" case number_literal :) (case_statement "case 9:" case number_literal :) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0xf:" case number_literal :) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x18:" case number_literal :) (case_statement "case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;" case number_literal : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = piVar6[1];" (assignment_expression "iVar7 = piVar6[1]" identifier = (subscript_expression "piVar6[1]" identifier [ number_literal ])) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;" case number_literal : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "iVar2 = 10;" (assignment_expression "iVar2 = 10" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;" case number_literal : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "iVar2 = 0xc;" (assignment_expression "iVar2 = 0xc" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;" case number_literal : (expression_statement "iVar8 = piVar6[1];" (assignment_expression "iVar8 = piVar6[1]" identifier = (subscript_expression "piVar6[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "iVar2 = 0x11;" (assignment_expression "iVar2 = 0x11" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;" case number_literal : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "iVar2 = 0x1d;" (assignment_expression "iVar2 = 0x1d" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "default:\n      goto code_r0x0001a400;" default : (goto_statement "goto code_r0x0001a400;" goto statement_identifier ;)) }))) })) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) (labeled_statement "code_r0x0001a320:\n  param_3 = puVar5 + 2;" statement_identifier : (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" identifier = (binary_expression "puVar5 + 2" identifier + number_literal)) ;)) (expression_statement "*(uint *)(param_1 + 0x7c) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x7c) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x7c)" * (cast_expression "(uint *)(param_1 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) )))) = (subscript_expression "puVar5[1]" identifier [ number_literal ])) ;) (goto_statement "goto code_r0x00019ec0;" goto statement_identifier ;) (labeled_statement "code_r0x0001a400:\n  uVar4 = 0;" statement_identifier : (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0001a402:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000299b0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000299b0();\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_000299b0();\n  }" { (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) }))) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( (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 ( (binary_expression IDENT + LIT) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 ") ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) + LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (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 ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) , LIT )))) ;) (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 (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )))) | LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") ))) ;) }))) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement default : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement default : (goto_statement goto statement_identifier ;)) }))) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (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 ;) })))
(function_definition "undefined4 __regparm3 FUN_00019e80(int param_1,uint *param_2,uint *param_3)\n\n{\n  uint uVar1;\n  int iVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  uint *puVar5;\n  int *piVar6;\n  int in_GS_OFFSET;\n  int iVar7;\n  int iVar8;\n  char *pcStack_28;\n  size_t sStack_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x19e8d;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\ncode_r0x00019ec0:\n  uVar1 = *param_3;\n  puVar5 = param_3;\n  if (uVar1 != 0) {\ncode_r0x00019ec6:\n                    \n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }\nLAB_00019f00:\n  uVar4 = 1;\n  goto LAB_0001a402;\ncode_r0x00019ee0:\n  *(uint *)(param_1 + 0x124) = puVar5[1];\n  *(uint *)(param_1 + 0x128) = puVar5[2];\n  uVar1 = puVar5[3];\n  puVar5 = puVar5 + 3;\n  if (uVar1 == 0) goto LAB_00019f00;\n  goto code_r0x00019ec6;\n  while( true ) {\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    \n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }\n  goto code_r0x00019ec0;\ncode_r0x0001a320:\n  param_3 = puVar5 + 2;\n  *(uint *)(param_1 + 0x7c) = puVar5[1];\n  goto code_r0x00019ec0;\ncode_r0x0001a400:\n  uVar4 = 0;\nLAB_0001a402:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000299b0();\n  }\n  return uVar4;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00019e80(int param_1,uint *param_2,uint *param_3)" (identifier "FUN_00019e80") (parameter_list "(int param_1,uint *param_2,uint *param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "uint *param_2" (type_identifier "uint") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint *param_3" (type_identifier "uint") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  uint *puVar5;\n  int *piVar6;\n  int in_GS_OFFSET;\n  int iVar7;\n  int iVar8;\n  char *pcStack_28;\n  size_t sStack_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x19e8d;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\ncode_r0x00019ec0:\n  uVar1 = *param_3;\n  puVar5 = param_3;\n  if (uVar1 != 0) {\ncode_r0x00019ec6:\n                    \n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }\nLAB_00019f00:\n  uVar4 = 1;\n  goto LAB_0001a402;\ncode_r0x00019ee0:\n  *(uint *)(param_1 + 0x124) = puVar5[1];\n  *(uint *)(param_1 + 0x128) = puVar5[2];\n  uVar1 = puVar5[3];\n  puVar5 = puVar5 + 3;\n  if (uVar1 == 0) goto LAB_00019f00;\n  goto code_r0x00019ec6;\n  while( true ) {\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    \n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }\n  goto code_r0x00019ec0;\ncode_r0x0001a320:\n  param_3 = puVar5 + 2;\n  *(uint *)(param_1 + 0x7c) = puVar5[1];\n  goto code_r0x00019ec0;\ncode_r0x0001a400:\n  uVar4 = 0;\nLAB_0001a402:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000299b0();\n  }\n  return uVar4;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "uint *puVar5;" (type_identifier "uint") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "char *pcStack_28;" (primitive_type "char") (pointer_declarator "*pcStack_28" (* "*") (identifier "pcStack_28")) (; ";")) (declaration "size_t sStack_24;" (primitive_type "size_t") (identifier "sStack_24") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x19e8d;" (assignment_expression "uStack_14 = 0x19e8d" (identifier "uStack_14") (= "=") (number_literal "0x19e8d")) (; ";")) (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")) () ")"))))) (; ";")) (labeled_statement "code_r0x00019ec0:\n  uVar1 = *param_3;" (statement_identifier "code_r0x00019ec0") (: ":") (expression_statement "uVar1 = *param_3;" (assignment_expression "uVar1 = *param_3" (identifier "uVar1") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";"))) (expression_statement "puVar5 = param_3;" (assignment_expression "puVar5 = param_3" (identifier "puVar5") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (uVar1 != 0) {\ncode_r0x00019ec6:\n                    \n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }" (if "if") (parenthesized_expression "(uVar1 != 0)" (( "(") (binary_expression "uVar1 != 0" (identifier "uVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\ncode_r0x00019ec6:\n                    \n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }\n    param_3 = puVar5 + 2;\n    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);\n    goto code_r0x00019ec0;\n  }" ({ "{") (labeled_statement "code_r0x00019ec6:\n                    \n    switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }" (statement_identifier "code_r0x00019ec6") (: ":") (switch_statement "switch(uVar1) {\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }" (switch "switch") (parenthesized_expression "(uVar1)" (( "(") (identifier "uVar1") () ")")) (compound_statement "{\n    case 1:\n      goto code_r0x0001a320;\n    case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;\n    case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;\n    case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;\n    case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;\n    case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;\n    case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;\n    case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;\n    case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;\n    case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;\n    case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;\n    case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;\n    case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;\n    case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;\n    case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;\n    case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;\n    case 0x1e:\n      goto code_r0x00019ee0;\n    default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;\n    }" ({ "{") (case_statement "case 1:\n      goto code_r0x0001a320;" (case "case") (number_literal "1") (: ":") (goto_statement "goto code_r0x0001a320;" (goto "goto") (statement_identifier "code_r0x0001a320") (; ";"))) (case_statement "case 2:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xec) = puVar5[1];\n      goto code_r0x00019ec0;" (case "case") (number_literal "2") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0xec) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0xec) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0xec)" (* "*") (cast_expression "(uint *)(param_1 + 0xec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xec)" (( "(") (binary_expression "param_1 + 0xec" (identifier "param_1") (+ "+") (number_literal "0xec")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 3:\n      param_3 = puVar5 + 2;\n      if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }\n      goto code_r0x00019ec0;" (case "case") (number_literal "3") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if ((int)puVar5[1] < 0) {\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }\n      else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }" (if "if") (parenthesized_expression "((int)puVar5[1] < 0)" (( "(") (binary_expression "(int)puVar5[1] < 0" (cast_expression "(int)puVar5[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");\n        *(undefined4 *)(param_1 + 0xf0) = 0;\n      }" ({ "{") (expression_statement "FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");" (call_expression "FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n")" (identifier "FUN_000215b0") (argument_list "(param_1,"Warning: Too large timeout value, ignored.\n")" (( "(") (identifier "param_1") (, ",") (string_literal ""Warning: Too large timeout value, ignored.\n"" (" """) (string_content "Warning: Too large timeout value, ignored.") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0xf0) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xf0) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xf0)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xf0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf0)" (( "(") (binary_expression "param_1 + 0xf0" (identifier "param_1") (+ "+") (number_literal "0xf0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }" (else "else") (compound_statement "{\n        *(uint *)(param_1 + 0xf0) = puVar5[1];\n      }" ({ "{") (expression_statement "*(uint *)(param_1 + 0xf0) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0xf0) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0xf0)" (* "*") (cast_expression "(uint *)(param_1 + 0xf0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf0)" (( "(") (binary_expression "param_1 + 0xf0" (identifier "param_1") (+ "+") (number_literal "0xf0")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}")))) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 4:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x48) = puVar5[1];\n      *(uint *)(param_1 + 0x4c) = puVar5[2];\n      goto code_r0x00019ec0;" (case "case") (number_literal "4") (: ":") (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" (identifier "param_3") (= "=") (binary_expression "puVar5 + 3" (identifier "puVar5") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x48) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x48) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x48)" (* "*") (cast_expression "(uint *)(param_1 + 0x48)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x4c) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x4c) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x4c)" (* "*") (cast_expression "(uint *)(param_1 + 0x4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 5:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xf4) = puVar5[1];\n      goto code_r0x00019ec0;" (case "case") (number_literal "5") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0xf4) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0xf4) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0xf4)" (* "*") (cast_expression "(uint *)(param_1 + 0xf4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf4)" (( "(") (binary_expression "param_1 + 0xf4" (identifier "param_1") (+ "+") (number_literal "0xf4")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 6:\n      param_3 = puVar5 + 2;\n      *param_2 = puVar5[1];\n      goto code_r0x00019ec0;" (case "case") (number_literal "6") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*param_2 = puVar5[1];" (assignment_expression "*param_2 = puVar5[1]" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 7:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x58) = puVar5[1];\n      *(uint *)(param_1 + 0x5c) = puVar5[2];\n      goto code_r0x00019ec0;" (case "case") (number_literal "7") (: ":") (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" (identifier "param_3") (= "=") (binary_expression "puVar5 + 3" (identifier "puVar5") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x58) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x58) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x58)" (* "*") (cast_expression "(uint *)(param_1 + 0x58)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x58)" (( "(") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x5c) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x5c) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x5c)" (* "*") (cast_expression "(uint *)(param_1 + 0x5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 8:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 8;\n      break;" (case "case") (number_literal "8") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" (( "(") (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" (* "*") (cast_expression "(byte *)(param_1 + 0xf8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(uint *)(param_1 + 300) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" ({ "{") (expression_statement "*(uint *)(param_1 + 300) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 300) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 300)" (* "*") (cast_expression "(uint *)(param_1 + 300)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 300)" (( "(") (binary_expression "param_1 + 300" (identifier "param_1") (+ "+") (number_literal "300")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";")) (} "}"))) (expression_statement "uVar4 = 8;" (assignment_expression "uVar4 = 8" (identifier "uVar4") (= "=") (number_literal "8")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 9:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 9;\n      break;" (case "case") (number_literal "9") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" (( "(") (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" (* "*") (cast_expression "(byte *)(param_1 + 0xf8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(uint *)(param_1 + 0x130) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" ({ "{") (expression_statement "*(uint *)(param_1 + 0x130) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x130) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x130)" (* "*") (cast_expression "(uint *)(param_1 + 0x130)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x130)" (( "(") (binary_expression "param_1 + 0x130" (identifier "param_1") (+ "+") (number_literal "0x130")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";")) (} "}"))) (expression_statement "uVar4 = 9;" (assignment_expression "uVar4 = 9" (identifier "uVar4") (= "=") (number_literal "9")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 10:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x110) = puVar5[1];\n      goto code_r0x00019ec0;" (case "case") (number_literal "10") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x110) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x110) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x110)" (* "*") (cast_expression "(uint *)(param_1 + 0x110)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x110)" (( "(") (binary_expression "param_1 + 0x110" (identifier "param_1") (+ "+") (number_literal "0x110")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0xb:\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }\n      uVar4 = 0xb;\n      break;" (case "case") (number_literal "0xb") (: ":") (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" (( "(") (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" (* "*") (cast_expression "(byte *)(param_1 + 0xf8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar1 = puVar5[1];\n        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));\n        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);\n        if (iVar2 == 0) goto code_r0x00019f2e;\n        uVar4 = gnutls_strerror(iVar2);\n        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);\n        uVar4 = 0;\n        *(undefined4 *)(param_1 + 0x10c) = 0;\n        goto LAB_0001a402;\n      }" ({ "{") (expression_statement "uVar1 = puVar5[1];" (assignment_expression "uVar1 = puVar5[1]" (identifier "uVar1") (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));" (call_expression "gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c))" (identifier "gnutls_priority_deinit") (argument_list "(*(undefined4 *)(param_1 + 0x10c))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x10c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10c)" (( "(") (binary_expression "param_1 + 0x10c" (identifier "param_1") (+ "+") (number_literal "0x10c")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);" (assignment_expression "iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0)" (identifier "iVar2") (= "=") (call_expression "gnutls_priority_init(param_1 + 0x10c,uVar1,0)" (identifier "gnutls_priority_init") (argument_list "(param_1 + 0x10c,uVar1,0)" (( "(") (binary_expression "param_1 + 0x10c" (identifier "param_1") (+ "+") (number_literal "0x10c")) (, ",") (identifier "uVar1") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) goto code_r0x00019f2e;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00019f2e;" (goto "goto") (statement_identifier "code_r0x00019f2e") (; ";"))) (expression_statement "uVar4 = gnutls_strerror(iVar2);" (assignment_expression "uVar4 = gnutls_strerror(iVar2)" (identifier "uVar4") (= "=") (call_expression "gnutls_strerror(iVar2)" (identifier "gnutls_strerror") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (; ";")) (expression_statement "FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);" (call_expression "FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4)" (identifier "FUN_000215b0") (argument_list "(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4)" (( "(") (identifier "param_1") (, ",") (string_literal ""Setting priorities to `%s\' failed: %s\n"" (" """) (string_content "Setting priorities to `%s") (escape_sequence "\'") (string_content " failed: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar1") (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x10c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10c)" (( "(") (binary_expression "param_1 + 0x10c" (identifier "param_1") (+ "+") (number_literal "0x10c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001a402;" (goto "goto") (statement_identifier "LAB_0001a402") (; ";")) (} "}"))) (expression_statement "uVar4 = 0xb;" (assignment_expression "uVar4 = 0xb" (identifier "uVar4") (= "=") (number_literal "0xb")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0xc4) = puVar5[1];\n      goto code_r0x00019ec0;" (case "case") (number_literal "0xc") (: ":") (if_statement "if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0xf9) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0xf9) & 1) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf9) & 1)" (( "(") (binary_expression "*(byte *)(param_1 + 0xf9) & 1" (pointer_expression "*(byte *)(param_1 + 0xf9)" (* "*") (cast_expression "(byte *)(param_1 + 0xf9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf9)" (( "(") (binary_expression "param_1 + 0xf9" (identifier "param_1") (+ "+") (number_literal "0xf9")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";\n        goto LAB_0001a3c9;\n      }" ({ "{") (expression_statement "pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";" (assignment_expression "pcVar3 = \n        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n"" (identifier "pcVar3") (= "=") (string_literal ""MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n"" (" """) (string_content "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_0001a3c9;" (goto "goto") (statement_identifier "LAB_0001a3c9") (; ";")) (} "}"))) (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0xc4) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0xc4) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0xc4)" (* "*") (cast_expression "(uint *)(param_1 + 0xc4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc4)" (( "(") (binary_expression "param_1 + 0xc4" (identifier "param_1") (+ "+") (number_literal "0xc4")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0xd:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x68) = puVar5[1];\n      *(uint *)(param_1 + 0x6c) = puVar5[2];\n      goto code_r0x00019ec0;" (case "case") (number_literal "0xd") (: ":") (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" (identifier "param_3") (= "=") (binary_expression "puVar5 + 3" (identifier "puVar5") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x68) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x68) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x68)" (* "*") (cast_expression "(uint *)(param_1 + 0x68)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x6c) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x6c) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x6c)" (* "*") (cast_expression "(uint *)(param_1 + 0x6c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x6c)" (( "(") (binary_expression "param_1 + 0x6c" (identifier "param_1") (+ "+") (number_literal "0x6c")) () ")")))) (= "=") (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0xe:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x88) = uVar1;\n      if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }\n      goto code_r0x00019ec0;" (case "case") (number_literal "0xe") (: ":") (expression_statement "uVar1 = puVar5[1];" (assignment_expression "uVar1 = puVar5[1]" (identifier "uVar1") (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x88) = uVar1;" (assignment_expression "*(uint *)(param_1 + 0x88) = uVar1" (pointer_expression "*(uint *)(param_1 + 0x88)" (* "*") (cast_expression "(uint *)(param_1 + 0x88)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x88)" (( "(") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (if_statement "if (uVar1 == 0) {\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }\n      else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }" (if "if") (parenthesized_expression "(uVar1 == 0)" (( "(") (binary_expression "uVar1 == 0" (identifier "uVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n      }" ({ "{") (expression_statement "FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );" (call_expression "FUN_000215b0(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    )" (identifier "FUN_000215b0") (argument_list "(param_1,\n                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    )" (( "(") (identifier "param_1") (, ",") (string_literal ""Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"" (" """) (string_content "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }" (else "else") (compound_statement "{\n        if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }\n        FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );\n        *(undefined4 *)(param_1 + 0x88) = 0;\n      }" ({ "{") (if_statement "if (uVar1 != 1) {\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }" (if "if") (parenthesized_expression "(uVar1 != 1)" (( "(") (binary_expression "uVar1 != 1" (identifier "uVar1") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n          if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }\n          goto LAB_0001a3c9;\n        }" ({ "{") (if_statement "if (uVar1 < 0xb02c0b) {\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }\n          else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }" (if "if") (parenthesized_expression "(uVar1 < 0xb02c0b)" (( "(") (binary_expression "uVar1 < 0xb02c0b" (identifier "uVar1") (< "<") (number_literal "0xb02c0b")) () ")")) (compound_statement "{\n            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }\n          }" ({ "{") (if_statement "if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }\n            else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }" (if "if") (parenthesized_expression "((*(uint *)(param_1 + 0xf8) & 8) == 0)" (( "(") (binary_expression "(*(uint *)(param_1 + 0xf8) & 8) == 0" (parenthesized_expression "(*(uint *)(param_1 + 0xf8) & 8)" (( "(") (binary_expression "*(uint *)(param_1 + 0xf8) & 8" (pointer_expression "*(uint *)(param_1 + 0xf8)" (* "*") (cast_expression "(uint *)(param_1 + 0xf8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;\n            }" ({ "{") (expression_statement "pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"\n              ;" (assignment_expression "pcVar3 = \n              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"" (identifier "pcVar3") (= "=") (string_literal ""MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"" (" """) (string_content "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }" (else "else") (compound_statement "{\n              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;\n              pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;\n            }" ({ "{") (if_statement "if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;" (if "if") (parenthesized_expression "((*(uint *)(param_1 + 0xf8) & 4) == 0)" (( "(") (binary_expression "(*(uint *)(param_1 + 0xf8) & 4) == 0" (parenthesized_expression "(*(uint *)(param_1 + 0xf8) & 4)" (( "(") (binary_expression "*(uint *)(param_1 + 0xf8) & 4" (pointer_expression "*(uint *)(param_1 + 0xf8)" (* "*") (cast_expression "(uint *)(param_1 + 0xf8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00019f2e;" (goto "goto") (statement_identifier "code_r0x00019f2e") (; ";"))) (expression_statement "pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"\n              ;" (assignment_expression "pcVar3 = \n              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"" (identifier "pcVar3") (= "=") (string_literal ""Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"" (" """) (string_content "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }" (else "else") (compound_statement "{\n            pcVar3 = "Specified thread pool size (%u) too big\n";\n          }" ({ "{") (expression_statement "pcVar3 = "Specified thread pool size (%u) too big\n";" (assignment_expression "pcVar3 = "Specified thread pool size (%u) too big\n"" (identifier "pcVar3") (= "=") (string_literal ""Specified thread pool size (%u) too big\n"" (" """) (string_content "Specified thread pool size (%u) too big") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (goto_statement "goto LAB_0001a3c9;" (goto "goto") (statement_identifier "LAB_0001a3c9") (; ";")) (} "}"))) (expression_statement "FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    );" (call_expression "FUN_000215b0(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    )" (identifier "FUN_000215b0") (argument_list "(param_1,\n                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"\n                    )" (( "(") (identifier "param_1") (, ",") (string_literal ""Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"" (" """) (string_content "Warning: ") (escape_sequence "\"") (string_content "1") (escape_sequence "\"") (string_content ", specified for thread pool size, is ignored. Thread pool is not used.") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x88) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x88) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x88)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x88)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x88)" (( "(") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0xf:\n      param_3 = puVar5 + 2;\n      iVar2 = *(int *)puVar5[1];\n      if (iVar2 == 0) goto code_r0x00019ec0;\n      piVar6 = (int *)puVar5[1] + 1;\n      goto code_r0x0001a120;" (case "case") (number_literal "0xf") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar2 = *(int *)puVar5[1];" (assignment_expression "iVar2 = *(int *)puVar5[1]" (identifier "iVar2") (= "=") (pointer_expression "*(int *)puVar5[1]" (* "*") (cast_expression "(int *)puVar5[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (if_statement "if (iVar2 == 0) goto code_r0x00019ec0;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (expression_statement "piVar6 = (int *)puVar5[1] + 1;" (assignment_expression "piVar6 = (int *)puVar5[1] + 1" (identifier "piVar6") (= "=") (binary_expression "(int *)puVar5[1] + 1" (cast_expression "(int *)puVar5[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto code_r0x0001a120;" (goto "goto") (statement_identifier "code_r0x0001a120") (; ";"))) (case_statement "case 0x10:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x60) = puVar5[1];\n      *(uint *)(param_1 + 100) = puVar5[2];\n      goto code_r0x00019ec0;" (case "case") (number_literal "0x10") (: ":") (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" (identifier "param_3") (= "=") (binary_expression "puVar5 + 3" (identifier "puVar5") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x60) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x60) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x60)" (* "*") (cast_expression "(uint *)(param_1 + 0x60)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(uint *)(param_1 + 100) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 100) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 100)" (* "*") (cast_expression "(uint *)(param_1 + 100)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")")))) (= "=") (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0x11:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x164) = puVar5[1];\n      *(uint *)(param_1 + 0x144) = puVar5[2];\n      goto code_r0x00019ec0;" (case "case") (number_literal "0x11") (: ":") (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" (identifier "param_3") (= "=") (binary_expression "puVar5 + 3" (identifier "puVar5") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x164) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x164) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x164)" (* "*") (cast_expression "(uint *)(param_1 + 0x164)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x164)" (( "(") (binary_expression "param_1 + 0x164" (identifier "param_1") (+ "+") (number_literal "0x164")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x144) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x144) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x144)" (* "*") (cast_expression "(uint *)(param_1 + 0x144)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x144)" (( "(") (binary_expression "param_1 + 0x144" (identifier "param_1") (+ "+") (number_literal "0x144")) () ")")))) (= "=") (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0x12:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x168) = puVar5[1];\n      goto code_r0x00019ec0;" (case "case") (number_literal "0x12") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x168) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x168) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x168)" (* "*") (cast_expression "(uint *)(param_1 + 0x168)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x168)" (( "(") (binary_expression "param_1 + 0x168" (identifier "param_1") (+ "+") (number_literal "0x168")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0x13:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x84) = puVar5[1];\n      goto code_r0x00019ec0;" (case "case") (number_literal "0x13") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x84) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x84) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x84)" (* "*") (cast_expression "(uint *)(param_1 + 0x84)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x84)" (( "(") (binary_expression "param_1 + 0x84" (identifier "param_1") (+ "+") (number_literal "0x84")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0x14:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x14;\n      break;" (case "case") (number_literal "0x14") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" (( "(") (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" (* "*") (cast_expression "(byte *)(param_1 + 0xf8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(uint *)(param_1 + 0x138) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" ({ "{") (expression_statement "*(uint *)(param_1 + 0x138) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x138) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x138)" (* "*") (cast_expression "(uint *)(param_1 + 0x138)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x138)" (( "(") (binary_expression "param_1 + 0x138" (identifier "param_1") (+ "+") (number_literal "0x138")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";")) (} "}"))) (expression_statement "uVar4 = 0x14;" (assignment_expression "uVar4 = 0x14" (identifier "uVar4") (= "=") (number_literal "0x14")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x15:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x80) = puVar5[1];\n      goto code_r0x00019ec0;" (case "case") (number_literal "0x15") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x80) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x80) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x80)" (* "*") (cast_expression "(uint *)(param_1 + 0x80)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x80)" (( "(") (binary_expression "param_1 + 0x80" (identifier "param_1") (+ "+") (number_literal "0x80")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0x16:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x16;\n      break;" (case "case") (number_literal "0x16") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" (( "(") (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" (* "*") (cast_expression "(byte *)(param_1 + 0xf8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(uint *)(param_1 + 0x120) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" ({ "{") (expression_statement "*(uint *)(param_1 + 0x120) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x120) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x120)" (* "*") (cast_expression "(uint *)(param_1 + 0x120)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x120)" (( "(") (binary_expression "param_1 + 0x120" (identifier "param_1") (+ "+") (number_literal "0x120")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";")) (} "}"))) (expression_statement "uVar4 = 0x16;" (assignment_expression "uVar4 = 0x16" (identifier "uVar4") (= "=") (number_literal "0x16")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x17:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x16c) = puVar5[1];\n      goto code_r0x00019ec0;" (case "case") (number_literal "0x17") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x16c) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x16c) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x16c)" (* "*") (cast_expression "(uint *)(param_1 + 0x16c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x16c)" (( "(") (binary_expression "param_1 + 0x16c" (identifier "param_1") (+ "+") (number_literal "0x16c")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0x18:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x18;\n      break;" (case "case") (number_literal "0x18") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" (( "(") (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" (* "*") (cast_expression "(byte *)(param_1 + 0xf8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar3 = (char *)puVar5[1];\n        iVar2 = func_0x00013680(param_1 + 0x13c);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }\n        pcStack_28 = pcVar3;\n        sStack_24 = strlen(pcVar3);\n        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);\n        if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }\n        *(undefined1 *)(param_1 + 0x140) = 1;\n        goto code_r0x00019ec0;\n      }" ({ "{") (expression_statement "pcVar3 = (char *)puVar5[1];" (assignment_expression "pcVar3 = (char *)puVar5[1]" (identifier "pcVar3") (= "=") (cast_expression "(char *)puVar5[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "iVar2 = func_0x00013680(param_1 + 0x13c);" (assignment_expression "iVar2 = func_0x00013680(param_1 + 0x13c)" (identifier "iVar2") (= "=") (call_expression "func_0x00013680(param_1 + 0x13c)" (identifier "func_0x00013680") (argument_list "(param_1 + 0x13c)" (( "(") (binary_expression "param_1 + 0x13c" (identifier "param_1") (+ "+") (number_literal "0x13c")) () ")")))) (; ";")) (if_statement "if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_000215b0(param_1,"Error initializing DH parameters\n");\n          goto code_r0x0001a400;\n        }" ({ "{") (expression_statement "FUN_000215b0(param_1,"Error initializing DH parameters\n");" (call_expression "FUN_000215b0(param_1,"Error initializing DH parameters\n")" (identifier "FUN_000215b0") (argument_list "(param_1,"Error initializing DH parameters\n")" (( "(") (identifier "param_1") (, ",") (string_literal ""Error initializing DH parameters\n"" (" """) (string_content "Error initializing DH parameters") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (goto_statement "goto code_r0x0001a400;" (goto "goto") (statement_identifier "code_r0x0001a400") (; ";")) (} "}"))) (expression_statement "pcStack_28 = pcVar3;" (assignment_expression "pcStack_28 = pcVar3" (identifier "pcStack_28") (= "=") (identifier "pcVar3")) (; ";")) (expression_statement "sStack_24 = strlen(pcVar3);" (assignment_expression "sStack_24 = strlen(pcVar3)" (identifier "sStack_24") (= "=") (call_expression "strlen(pcVar3)" (identifier "strlen") (argument_list "(pcVar3)" (( "(") (identifier "pcVar3") () ")")))) (; ";")) (expression_statement "iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);" (assignment_expression "iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1)" (identifier "iVar2") (= "=") (call_expression "func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1)" (identifier "func_0x000132d0") (argument_list "(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x13c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x13c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x13c)" (( "(") (binary_expression "param_1 + 0x13c" (identifier "param_1") (+ "+") (number_literal "0x13c")) () ")")))) (, ",") (pointer_expression "&pcStack_28" (& "&") (identifier "pcStack_28")) (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar2 < 0) {\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");\n          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));\n          goto code_r0x0001a400;\n        }" ({ "{") (expression_statement "FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");" (call_expression "FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n")" (identifier "FUN_000215b0") (argument_list "(param_1,"Bad Diffie-Hellman parameters format\n")" (( "(") (identifier "param_1") (, ",") (string_literal ""Bad Diffie-Hellman parameters format\n"" (" """) (string_content "Bad Diffie-Hellman parameters format") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));" (call_expression "gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c))" (identifier "gnutls_dh_params_deinit") (argument_list "(*(undefined4 *)(param_1 + 0x13c))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0x13c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x13c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x13c)" (( "(") (binary_expression "param_1 + 0x13c" (identifier "param_1") (+ "+") (number_literal "0x13c")) () ")")))) () ")"))) (; ";")) (goto_statement "goto code_r0x0001a400;" (goto "goto") (statement_identifier "code_r0x0001a400") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(param_1 + 0x140) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x140) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x140)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x140)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x140)" (( "(") (binary_expression "param_1 + 0x140" (identifier "param_1") (+ "+") (number_literal "0x140")) () ")")))) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";")) (} "}"))) (expression_statement "uVar4 = 0x18;" (assignment_expression "uVar4 = 0x18" (identifier "uVar4") (= "=") (number_literal "0x18")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x19:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;\n      goto code_r0x00019ec0;" (case "case") (number_literal "0x19") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;" (assignment_expression "*(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1" (pointer_expression "*(uint *)(param_1 + 200)" (* "*") (cast_expression "(uint *)(param_1 + 200)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 200)" (( "(") (binary_expression "param_1 + 200" (identifier "param_1") (+ "+") (number_literal "200")) () ")")))) (= "=") (binary_expression "-(uint)(puVar5[1] == 0) | 1" (unary_expression "-(uint)(puVar5[1] == 0)" (- "-") (call_expression "(uint)(puVar5[1] == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar5[1] == 0)" (( "(") (binary_expression "puVar5[1] == 0" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0x1a:\n      param_3 = puVar5 + 2;\n      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }\n      uVar4 = 0x1a;\n      break;" (case "case") (number_literal "0x1a") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0xf8) & 2) != 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 2)" (( "(") (binary_expression "*(byte *)(param_1 + 0xf8) & 2" (pointer_expression "*(byte *)(param_1 + 0xf8)" (* "*") (cast_expression "(byte *)(param_1 + 0xf8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(uint *)(param_1 + 0x134) = puVar5[1];\n        goto code_r0x00019ec0;\n      }" ({ "{") (expression_statement "*(uint *)(param_1 + 0x134) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x134) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x134)" (* "*") (cast_expression "(uint *)(param_1 + 0x134)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x134)" (( "(") (binary_expression "param_1 + 0x134" (identifier "param_1") (+ "+") (number_literal "0x134")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";")) (} "}"))) (expression_statement "uVar4 = 0x1a;" (assignment_expression "uVar4 = 0x1a" (identifier "uVar4") (= "=") (number_literal "0x1a")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x1b:\n      param_3 = puVar5 + 3;\n      *(uint *)(param_1 + 0x50) = puVar5[1];\n      *(uint *)(param_1 + 0x54) = puVar5[2];\n      goto code_r0x00019ec0;" (case "case") (number_literal "0x1b") (: ":") (expression_statement "param_3 = puVar5 + 3;" (assignment_expression "param_3 = puVar5 + 3" (identifier "param_3") (= "=") (binary_expression "puVar5 + 3" (identifier "puVar5") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x50) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x50) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x50)" (* "*") (cast_expression "(uint *)(param_1 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x54) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x54) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x54)" (* "*") (cast_expression "(uint *)(param_1 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x54)" (( "(") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0x1c:\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x170) = puVar5[1];\n      goto code_r0x00019ec0;" (case "case") (number_literal "0x1c") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x170) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x170) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x170)" (* "*") (cast_expression "(uint *)(param_1 + 0x170)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x170)" (( "(") (binary_expression "param_1 + 0x170" (identifier "param_1") (+ "+") (number_literal "0x170")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0x1d:\n      uVar1 = puVar5[1];\n      param_3 = puVar5 + 2;\n      *(uint *)(param_1 + 0x100) = uVar1;\n      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }\n      goto code_r0x00019ec0;" (case "case") (number_literal "0x1d") (: ":") (expression_statement "uVar1 = puVar5[1];" (assignment_expression "uVar1 = puVar5[1]" (identifier "uVar1") (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(uint *)(param_1 + 0x100) = uVar1;" (assignment_expression "*(uint *)(param_1 + 0x100) = uVar1" (pointer_expression "*(uint *)(param_1 + 0x100)" (* "*") (cast_expression "(uint *)(param_1 + 0x100)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x100)" (( "(") (binary_expression "param_1 + 0x100" (identifier "param_1") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (if_statement "if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }\n      else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }" (if "if") (parenthesized_expression "(((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1))" (( "(") (binary_expression "((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)" (parenthesized_expression "((*(byte *)(param_1 + 0xf8) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0xf8) & 0x20) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0xf8) & 0x20)" (( "(") (binary_expression "*(byte *)(param_1 + 0xf8) & 0x20" (pointer_expression "*(byte *)(param_1 + 0xf8)" (* "*") (cast_expression "(byte *)(param_1 + 0xf8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar1 == 1)" (( "(") (binary_expression "uVar1 == 1" (identifier "uVar1") (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\ncode_r0x00019f2e:\n        param_3 = puVar5 + 2;\n      }" ({ "{") (labeled_statement "code_r0x00019f2e:\n        param_3 = puVar5 + 2;" (statement_identifier "code_r0x00019f2e") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";"))) (} "}")) (else_clause "else {\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }" (else "else") (compound_statement "{\n        FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );\n      }" ({ "{") (expression_statement "FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    );" (call_expression "FUN_000215b0(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    )" (identifier "FUN_000215b0") (argument_list "(param_1,\n                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"\n                    )" (( "(") (identifier "param_1") (, ",") (string_literal ""Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"" (" """) (string_content "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (} "}")))) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";"))) (case_statement "case 0x1e:\n      goto code_r0x00019ee0;" (case "case") (number_literal "0x1e") (: ":") (goto_statement "goto code_r0x00019ee0;" (goto "goto") (statement_identifier "code_r0x00019ee0") (; ";"))) (case_statement "default:\n      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }\nLAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);\n      uVar4 = 0;\n      goto LAB_0001a402;" (default "default") (: ":") (if_statement "if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }\n      else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }" (if "if") (parenthesized_expression "((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0))" (( "(") (binary_expression "(uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)" (parenthesized_expression "(uVar1 < 0x1f)" (( "(") (binary_expression "uVar1 < 0x1f" (identifier "uVar1") (< "<") (number_literal "0x1f")) () ")")) (&& "&&") (parenthesized_expression "((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)" (( "(") (binary_expression "(0x40100f00U >> (uVar1 & 0x1f) & 1) != 0" (parenthesized_expression "(0x40100f00U >> (uVar1 & 0x1f) & 1)" (( "(") (binary_expression "0x40100f00U >> (uVar1 & 0x1f) & 1" (binary_expression "0x40100f00U >> (uVar1 & 0x1f)" (number_literal "0x40100f00U") (>> ">>") (parenthesized_expression "(uVar1 & 0x1f)" (( "(") (binary_expression "uVar1 & 0x1f" (identifier "uVar1") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";\n      }" ({ "{") (expression_statement "pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";" (assignment_expression "pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n"" (identifier "pcVar3") (= "=") (string_literal ""MHD HTTPS option %d passed to MHD compiled without HTTPS support\n"" (" """) (string_content "MHD HTTPS option %d passed to MHD compiled without HTTPS support") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }" (else "else") (compound_statement "{\n        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";\n      }" ({ "{") (expression_statement "pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";" (assignment_expression "pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n"" (identifier "pcVar3") (= "=") (string_literal ""Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n"" (" """) (string_content "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (labeled_statement "LAB_0001a3c9:\n      FUN_000215b0(param_1,pcVar3);" (statement_identifier "LAB_0001a3c9") (: ":") (expression_statement "FUN_000215b0(param_1,pcVar3);" (call_expression "FUN_000215b0(param_1,pcVar3)" (identifier "FUN_000215b0") (argument_list "(param_1,pcVar3)" (( "(") (identifier "param_1") (, ",") (identifier "pcVar3") () ")"))) (; ";"))) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001a402;" (goto "goto") (statement_identifier "LAB_0001a402") (; ";"))) (} "}")))) (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);" (call_expression "FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4)" (identifier "FUN_000215b0") (argument_list "(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4)" (( "(") (identifier "param_1") (, ",") (string_literal ""MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n"" (" """) (string_content "MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar4") () ")"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";")) (} "}"))) (labeled_statement "LAB_00019f00:\n  uVar4 = 1;" (statement_identifier "LAB_00019f00") (: ":") (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" (identifier "uVar4") (= "=") (number_literal "1")) (; ";"))) (goto_statement "goto LAB_0001a402;" (goto "goto") (statement_identifier "LAB_0001a402") (; ";")) (labeled_statement "code_r0x00019ee0:\n  *(uint *)(param_1 + 0x124) = puVar5[1];" (statement_identifier "code_r0x00019ee0") (: ":") (expression_statement "*(uint *)(param_1 + 0x124) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x124) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x124)" (* "*") (cast_expression "(uint *)(param_1 + 0x124)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x124)" (( "(") (binary_expression "param_1 + 0x124" (identifier "param_1") (+ "+") (number_literal "0x124")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (expression_statement "*(uint *)(param_1 + 0x128) = puVar5[2];" (assignment_expression "*(uint *)(param_1 + 0x128) = puVar5[2]" (pointer_expression "*(uint *)(param_1 + 0x128)" (* "*") (cast_expression "(uint *)(param_1 + 0x128)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x128)" (( "(") (binary_expression "param_1 + 0x128" (identifier "param_1") (+ "+") (number_literal "0x128")) () ")")))) (= "=") (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar1 = puVar5[3];" (assignment_expression "uVar1 = puVar5[3]" (identifier "uVar1") (= "=") (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "puVar5 = puVar5 + 3;" (assignment_expression "puVar5 = puVar5 + 3" (identifier "puVar5") (= "=") (binary_expression "puVar5 + 3" (identifier "puVar5") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (uVar1 == 0) goto LAB_00019f00;" (if "if") (parenthesized_expression "(uVar1 == 0)" (( "(") (binary_expression "uVar1 == 0" (identifier "uVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00019f00;" (goto "goto") (statement_identifier "LAB_00019f00") (; ";"))) (goto_statement "goto code_r0x00019ec6;" (goto "goto") (statement_identifier "code_r0x00019ec6") (; ";")) (while_statement "while( true ) {\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    \n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);\n    if (iVar2 != 1) goto code_r0x0001a400;\n    iVar2 = piVar6[2];\n    piVar6 = piVar6 + 3;\n    if (iVar2 == 0) break;\ncode_r0x0001a120:\n                    \n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }\n  }" ({ "{") (expression_statement "iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);" (assignment_expression "iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8)" (identifier "iVar2") (= "=") (call_expression "FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8)" (identifier "FUN_0001a5d0") (argument_list "(param_1,param_2,iVar2,iVar7,iVar8)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "iVar2") (, ",") (identifier "iVar7") (, ",") (identifier "iVar8") () ")")))) (; ";")) (if_statement "if (iVar2 != 1) goto code_r0x0001a400;" (if "if") (parenthesized_expression "(iVar2 != 1)" (( "(") (binary_expression "iVar2 != 1" (identifier "iVar2") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto code_r0x0001a400;" (goto "goto") (statement_identifier "code_r0x0001a400") (; ";"))) (expression_statement "iVar2 = piVar6[2];" (assignment_expression "iVar2 = piVar6[2]" (identifier "iVar2") (= "=") (subscript_expression "piVar6[2]" (identifier "piVar6") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "piVar6 = piVar6 + 3;" (assignment_expression "piVar6 = piVar6 + 3" (identifier "piVar6") (= "=") (binary_expression "piVar6 + 3" (identifier "piVar6") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (iVar2 == 0) break;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "code_r0x0001a120:\n                    \n    switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }" (statement_identifier "code_r0x0001a120") (: ":") (switch_statement "switch(iVar2) {\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }" (switch "switch") (parenthesized_expression "(iVar2)" (( "(") (identifier "iVar2") () ")")) (compound_statement "{\n    case 1:\n    case 2:\n    case 3:\n    case 5:\n    case 0xe:\n    case 0x12:\n    case 0x13:\n    case 0x15:\n    case 0x17:\n    case 0x19:\n    case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;\n    case 4:\n    case 7:\n    case 0xd:\n    case 0x10:\n    case 0x1b:\n    case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;\n    case 6:\n    case 8:\n    case 9:\n    case 0xb:\n    case 0xf:\n    case 0x14:\n    case 0x16:\n    case 0x18:\n    case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;\n    case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;\n    case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;\n    case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;\n    case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;\n    default:\n      goto code_r0x0001a400;\n    }" ({ "{") (case_statement "case 1:" (case "case") (number_literal "1") (: ":")) (case_statement "case 2:" (case "case") (number_literal "2") (: ":")) (case_statement "case 3:" (case "case") (number_literal "3") (: ":")) (case_statement "case 5:" (case "case") (number_literal "5") (: ":")) (case_statement "case 0xe:" (case "case") (number_literal "0xe") (: ":")) (case_statement "case 0x12:" (case "case") (number_literal "0x12") (: ":")) (case_statement "case 0x13:" (case "case") (number_literal "0x13") (: ":")) (case_statement "case 0x15:" (case "case") (number_literal "0x15") (: ":")) (case_statement "case 0x17:" (case "case") (number_literal "0x17") (: ":")) (case_statement "case 0x19:" (case "case") (number_literal "0x19") (: ":")) (case_statement "case 0x1c:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      break;" (case "case") (number_literal "0x1c") (: ":") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" (identifier "iVar7") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:" (case "case") (number_literal "4") (: ":")) (case_statement "case 7:" (case "case") (number_literal "7") (: ":")) (case_statement "case 0xd:" (case "case") (number_literal "0xd") (: ":")) (case_statement "case 0x10:" (case "case") (number_literal "0x10") (: ":")) (case_statement "case 0x1b:" (case "case") (number_literal "0x1b") (: ":")) (case_statement "case 0x1e:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      break;" (case "case") (number_literal "0x1e") (: ":") (expression_statement "iVar8 = piVar6[1];" (assignment_expression "iVar8 = piVar6[1]" (identifier "iVar8") (= "=") (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" (identifier "iVar7") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:" (case "case") (number_literal "6") (: ":")) (case_statement "case 8:" (case "case") (number_literal "8") (: ":")) (case_statement "case 9:" (case "case") (number_literal "9") (: ":")) (case_statement "case 0xb:" (case "case") (number_literal "0xb") (: ":")) (case_statement "case 0xf:" (case "case") (number_literal "0xf") (: ":")) (case_statement "case 0x14:" (case "case") (number_literal "0x14") (: ":")) (case_statement "case 0x16:" (case "case") (number_literal "0x16") (: ":")) (case_statement "case 0x18:" (case "case") (number_literal "0x18") (: ":")) (case_statement "case 0x1a:\n      iVar8 = 0;\n      iVar7 = piVar6[1];\n      break;" (case "case") (number_literal "0x1a") (: ":") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = piVar6[1];" (assignment_expression "iVar7 = piVar6[1]" (identifier "iVar7") (= "=") (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 10:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 10;\n      break;" (case "case") (number_literal "10") (: ":") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" (identifier "iVar7") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "iVar2 = 10;" (assignment_expression "iVar2 = 10" (identifier "iVar2") (= "=") (number_literal "10")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0xc;\n      break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" (identifier "iVar7") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "iVar2 = 0xc;" (assignment_expression "iVar2 = 0xc" (identifier "iVar2") (= "=") (number_literal "0xc")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x11:\n      iVar8 = piVar6[1];\n      iVar7 = *piVar6;\n      iVar2 = 0x11;\n      break;" (case "case") (number_literal "0x11") (: ":") (expression_statement "iVar8 = piVar6[1];" (assignment_expression "iVar8 = piVar6[1]" (identifier "iVar8") (= "=") (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" (identifier "iVar7") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "iVar2 = 0x11;" (assignment_expression "iVar2 = 0x11" (identifier "iVar2") (= "=") (number_literal "0x11")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x1d:\n      iVar8 = 0;\n      iVar7 = *piVar6;\n      iVar2 = 0x1d;\n      break;" (case "case") (number_literal "0x1d") (: ":") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = *piVar6;" (assignment_expression "iVar7 = *piVar6" (identifier "iVar7") (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "iVar2 = 0x1d;" (assignment_expression "iVar2 = 0x1d" (identifier "iVar2") (= "=") (number_literal "0x1d")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n      goto code_r0x0001a400;" (default "default") (: ":") (goto_statement "goto code_r0x0001a400;" (goto "goto") (statement_identifier "code_r0x0001a400") (; ";"))) (} "}")))) (} "}"))) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";")) (labeled_statement "code_r0x0001a320:\n  param_3 = puVar5 + 2;" (statement_identifier "code_r0x0001a320") (: ":") (expression_statement "param_3 = puVar5 + 2;" (assignment_expression "param_3 = puVar5 + 2" (identifier "param_3") (= "=") (binary_expression "puVar5 + 2" (identifier "puVar5") (+ "+") (number_literal "2"))) (; ";"))) (expression_statement "*(uint *)(param_1 + 0x7c) = puVar5[1];" (assignment_expression "*(uint *)(param_1 + 0x7c) = puVar5[1]" (pointer_expression "*(uint *)(param_1 + 0x7c)" (* "*") (cast_expression "(uint *)(param_1 + 0x7c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x7c)" (( "(") (binary_expression "param_1 + 0x7c" (identifier "param_1") (+ "+") (number_literal "0x7c")) () ")")))) (= "=") (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto code_r0x00019ec0;" (goto "goto") (statement_identifier "code_r0x00019ec0") (; ";")) (labeled_statement "code_r0x0001a400:\n  uVar4 = 0;" (statement_identifier "code_r0x0001a400") (: ":") (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_0001a402:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000299b0();\n  }" (statement_identifier "LAB_0001a402") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_000299b0();\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_000299b0();\n  }" ({ "{") (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" (identifier "FUN_000299b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return uVar4;" (return "return") (identifier "uVar4") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */
/* WARNING: Enum "gnutls_pk_algorithm_t": Some values do not have unique names */
/* WARNING: Enum "gnutls_certificate_type_t": Some values do not have unique names */

int __regparm3 function_1(type_1 *daemon,type_2 **servaddr,type_3 ap)

{
  int var_21;
  type_4 *__s;
  type_5 var_2;
  char *format;
  int var_9;
  type_5 *var_3;
  int *var_20;
  int var_1;
  int iVar6;
  int iVar7;
  type_6 uVar8;
  type_7 dhpar;
  
  var_21 = *(int *)(var_1 + 0x14);
LAB_00019ec0:
  var_2 = *(type_5 *)ap;
  var_3 = (type_5 *)ap;
  if (var_2 != 0) {
LAB_00019ec6:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
    switch(var_2) {
    case 1:
      goto _L378;
    case 2:
      ap = (type_3)(var_3 + 2);
      daemon->connection_limit = var_3[1];
      goto LAB_00019ec0;
    case 3:
      ap = (type_3)(var_3 + 2);
      if ((int)var_3[1] < 0) {
        var_4(daemon,"Warning: Too large timeout value, ignored.\n");
        daemon->connection_timeout = 0;
      }
      else {
        daemon->connection_timeout = var_3[1];
      }
      goto LAB_00019ec0;
    case 4:
      ap = (type_3)(var_3 + 3);
      daemon->notify_completed = (type_8)var_3[1];
      daemon->notify_completed_cls = (void *)var_3[2];
      goto LAB_00019ec0;
    case 5:
      ap = (type_3)(var_3 + 2);
      daemon->per_ip_connection_limit = var_3[1];
      goto LAB_00019ec0;
    case 6:
      ap = (type_3)(var_3 + 2);
      *servaddr = (type_2 *)var_3[1];
      goto LAB_00019ec0;
    case 7:
      ap = (type_3)(var_3 + 3);
      daemon->uri_log_callback = (type_9)var_3[1];
      daemon->uri_log_callback_cls = (void *)var_3[2];
      goto LAB_00019ec0;
    case 8:
      ap = (type_3)(var_3 + 2);
      if ((daemon->options & var_5) != var_6) {
        daemon->https_mem_key = (char *)var_3[1];
        goto LAB_00019ec0;
      }
      uVar8 = 8;
      break;
    case 9:
      ap = (type_3)(var_3 + 2);
      if ((daemon->options & var_5) != var_6) {
        daemon->https_mem_cert = (char *)var_3[1];
        goto LAB_00019ec0;
      }
      uVar8 = 9;
      break;
    case 10:
      ap = (type_3)(var_3 + 2);
      daemon->cred_type = var_3[1];
      goto LAB_00019ec0;
    case 0xb:
      if ((daemon->options & var_5) != var_6) {
        var_2 = var_3[1];
        var_7(daemon->priority_cache);
        var_9 = var_8(&daemon->priority_cache,var_2,0);
        if (var_9 == 0) goto LAB_00019f2e;
        uVar8 = var_10(var_9);
        var_4(daemon,"Setting priorities to `%s\' failed: %s\n",var_2,uVar8);
        var_9 = 0;
        daemon->priority_cache = (type_10)0x0;
        goto LAB_0001a402;
      }
      uVar8 = 0xb;
      break;
    case 0xc:
      if ((daemon->options & var_11) != var_6) {
        format = 
        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";
        goto LAB_0001a3c9;
      }
      ap = (type_3)(var_3 + 2);
      daemon->listen_fd = var_3[1];
      goto LAB_00019ec0;
    case 0xd:
      ap = (type_3)(var_3 + 3);
      daemon->custom_error_log = (type_11 *)var_3[1];
      daemon->custom_error_log_cls = (void *)var_3[2];
      goto LAB_00019ec0;
    case 0xe:
      var_2 = var_3[1];
      ap = (type_3)(var_3 + 2);
      daemon->worker_pool_size = var_2;
      if (var_2 == 0) {
        var_4(daemon,
                 "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"
                );
      }
      else {
        if (var_2 != 1) {
          if (var_2 < 0xb02c0b) {
            if ((daemon->options & var_12) == var_6) {
              format = 
              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"
              ;
            }
            else {
              if ((daemon->options & var_13) == var_6)
              goto LAB_00019f2e;
              format = 
              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"
              ;
            }
          }
          else {
            format = "Specified thread pool size (%u) too big\n";
          }
          goto LAB_0001a3c9;
        }
        var_4(daemon,
                 "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"
                );
        daemon->worker_pool_size = 0;
      }
      goto LAB_00019ec0;
    case 0xf:
      ap = (type_3)(var_3 + 2);
      var_9 = *(int *)var_3[1];
      if (var_9 == 0) goto LAB_00019ec0;
      var_20 = (int *)var_3[1] + 1;
      goto LAB_0001a120;
    case 0x10:
      ap = (type_3)(var_3 + 3);
      daemon->unescape_callback = (type_12)var_3[1];
      daemon->unescape_callback_cls = (void *)var_3[2];
      goto LAB_00019ec0;
    case 0x11:
      ap = (type_3)(var_3 + 3);
      daemon->digest_auth_rand_size = var_3[1];
      daemon->digest_auth_random = (char *)var_3[2];
      goto LAB_00019ec0;
    case 0x12:
      ap = (type_3)(var_3 + 2);
      daemon->nonce_nc_size = var_3[1];
      goto LAB_00019ec0;
    case 0x13:
      ap = (type_3)(var_3 + 2);
      daemon->thread_stack_size = var_3[1];
      goto LAB_00019ec0;
    case 0x14:
      ap = (type_3)(var_3 + 2);
      if ((daemon->options & var_5) != var_6) {
        daemon->https_mem_trust = (char *)var_3[1];
        goto LAB_00019ec0;
      }
      uVar8 = 0x14;
      break;
    case 0x15:
      ap = (type_3)(var_3 + 2);
      daemon->pool_increment = var_3[1];
      goto LAB_00019ec0;
    case 0x16:
      ap = (type_3)(var_3 + 2);
      if ((daemon->options & var_5) != var_6) {
        daemon->cert_callback = (type_13 *)var_3[1];
        goto LAB_00019ec0;
      }
      uVar8 = 0x16;
      break;
    case 0x17:
      ap = (type_3)(var_3 + 2);
      daemon->fastopen_queue_size = var_3[1];
      goto LAB_00019ec0;
    case 0x18:
      ap = (type_3)(var_3 + 2);
      if ((daemon->options & var_5) != var_6) {
        __s = (type_4 *)var_3[1];
        var_9 = var_14(&daemon->https_mem_dhparams);
        if (var_9 < 0) {
          var_4(daemon,"Error initializing DH parameters\n");
          goto _L417;
        }
        dhpar.data = __s;
        dhpar.size = var_15((char *)__s);
        var_9 = var_16(daemon->https_mem_dhparams,&dhpar,1);
        if (var_9 < 0) {
          var_4(daemon,"Bad Diffie-Hellman parameters format\n");
          var_17(daemon->https_mem_dhparams);
          goto _L417;
        }
        daemon->have_dhparams = true;
        goto LAB_00019ec0;
      }
      uVar8 = 0x18;
      break;
    case 0x19:
      ap = (type_3)(var_3 + 2);
      daemon->listening_address_reuse = -(type_5)(var_3[1] == 0) | 1;
      goto LAB_00019ec0;
    case 0x1a:
      ap = (type_3)(var_3 + 2);
      if ((daemon->options & var_5) != var_6) {
        daemon->https_key_password = (char *)var_3[1];
        goto LAB_00019ec0;
      }
      uVar8 = 0x1a;
      break;
    case 0x1b:
      ap = (type_3)(var_3 + 3);
      daemon->notify_connection = (type_14)var_3[1];
      daemon->notify_connection_cls = (void *)var_3[2];
      goto LAB_00019ec0;
    case 0x1c:
      ap = (type_3)(var_3 + 2);
      daemon->listen_backlog_size = var_3[1];
      goto LAB_00019ec0;
    case 0x1d:
      var_2 = var_3[1];
      ap = (type_3)(var_3 + 2);
      daemon->strict_for_client = var_2;
      if (((daemon->options & var_18) == var_6) || (var_2 == 1)) {
LAB_00019f2e:
        ap = (type_3)(var_3 + 2);
      }
      else {
        var_4(daemon,
                 "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"
                );
      }
      goto LAB_00019ec0;
    case 0x1e:
      goto _L348;
    default:
      if ((var_2 < 0x1f) && ((0x40100f00U >> (var_2 & 0x1f) & 1) != 0)) {
        format = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";
      }
      else {
        format = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";
      }
LAB_0001a3c9:
      var_4(daemon,format);
      var_9 = 0;
      goto LAB_0001a402;
    }
    ap = (type_3)(var_3 + 2);
    var_4(daemon,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar8);
    goto LAB_00019ec0;
  }
LAB_00019f00:
  var_9 = 1;
  goto LAB_0001a402;
_L348:
  daemon->cred_callback = (type_15)var_3[1];
  daemon->cred_callback_cls = (void *)var_3[2];
  var_2 = var_3[3];
  var_3 = var_3 + 3;
  if (var_2 == 0) goto LAB_00019f00;
  goto LAB_00019ec6;
  while( true ) {
    var_9 = var_19(daemon,servaddr,var_9,iVar6,iVar7);
    if (var_9 != 1) goto _L417;
    var_9 = var_20[2];
    var_20 = var_20 + 3;
    if (var_9 == 0) break;
LAB_0001a120:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
    switch(var_9) {
    case 1:
    case 2:
    case 3:
    case 5:
    case 0xe:
    case 0x12:
    case 0x13:
    case 0x15:
    case 0x17:
    case 0x19:
    case 0x1c:
      iVar7 = 0;
      iVar6 = *var_20;
      break;
    case 4:
    case 7:
    case 0xd:
    case 0x10:
    case 0x1b:
    case 0x1e:
      iVar7 = var_20[1];
      iVar6 = *var_20;
      break;
    case 6:
    case 8:
    case 9:
    case 0xb:
    case 0xf:
    case 0x14:
    case 0x16:
    case 0x18:
    case 0x1a:
      iVar7 = 0;
      iVar6 = var_20[1];
      break;
    case 10:
      iVar7 = 0;
      iVar6 = *var_20;
      var_9 = 10;
      break;
    case 0xc:
      iVar7 = 0;
      iVar6 = *var_20;
      var_9 = 0xc;
      break;
    case 0x11:
      iVar7 = var_20[1];
      iVar6 = *var_20;
      var_9 = 0x11;
      break;
    case 0x1d:
      iVar7 = 0;
      iVar6 = *var_20;
      var_9 = 0x1d;
      break;
    default:
      goto _L417;
    }
  }
  goto LAB_00019ec0;
_L378:
  ap = (type_3)(var_3 + 2);
  daemon->pool_size = var_3[1];
  goto LAB_00019ec0;
_L417:
  var_9 = 0;
LAB_0001a402:
  if (var_21 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_22();
  }
  return var_9;
}


(translation_unit (function_definition type: (type_identifier) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) 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: (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: (identifier)) (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))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) 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: (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))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (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))))) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (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))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (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))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (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: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (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: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence)) (identifier) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) 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: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (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))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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)))))) alternative: (else_clause (compound_statement (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 (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))))) (goto_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))))) (expression_statement (assignment_expression left: (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))))) right: (number_literal)))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (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))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (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))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) 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: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (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: (identifier) right: (number_literal))))) (pointer_expression argument: (identifier)) (number_literal))))) (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 (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: (identifier) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (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))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (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))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_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) (escape_sequence)))))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence))))) alternative: (else_clause (compound_statement (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))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content) (escape_sequence)) (identifier)))) (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: (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))))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (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))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (break_statement)) (labeled_statement label: (statement_identifier) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (break_statement)) (case_statement (goto_statement label: (statement_identifier)))))))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_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)))))

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

undefined4 __regparm3 MASKED(int param_1,uint *param_2,uint *param_3)

{
  uint uVar1;
  int iVar2;
  char *pcVar3;
  undefined4 uVar4;
  uint *puVar5;
  int *piVar6;
  int in_GS_OFFSET;
  int iVar7;
  int iVar8;
  char *pcStack_28;
  size_t sStack_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x19e8d;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
code_r0x00019ec0:
  uVar1 = *param_3;
  puVar5 = param_3;
  if (uVar1 != 0) {
code_r0x00019ec6:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
    switch(uVar1) {
    case 1:
      goto code_r0x0001a320;
    case 2:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0xec) = puVar5[1];
      goto code_r0x00019ec0;
    case 3:
      param_3 = puVar5 + 2;
      if ((int)puVar5[1] < 0) {
        FUN_000215b0(param_1,"Warning: Too large timeout value, ignored.\n");
        *(undefined4 *)(param_1 + 0xf0) = 0;
      }
      else {
        *(uint *)(param_1 + 0xf0) = puVar5[1];
      }
      goto code_r0x00019ec0;
    case 4:
      param_3 = puVar5 + 3;
      *(uint *)(param_1 + 0x48) = puVar5[1];
      *(uint *)(param_1 + 0x4c) = puVar5[2];
      goto code_r0x00019ec0;
    case 5:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0xf4) = puVar5[1];
      goto code_r0x00019ec0;
    case 6:
      param_3 = puVar5 + 2;
      *param_2 = puVar5[1];
      goto code_r0x00019ec0;
    case 7:
      param_3 = puVar5 + 3;
      *(uint *)(param_1 + 0x58) = puVar5[1];
      *(uint *)(param_1 + 0x5c) = puVar5[2];
      goto code_r0x00019ec0;
    case 8:
      param_3 = puVar5 + 2;
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        *(uint *)(param_1 + 300) = puVar5[1];
        goto code_r0x00019ec0;
      }
      uVar4 = 8;
      break;
    case 9:
      param_3 = puVar5 + 2;
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        *(uint *)(param_1 + 0x130) = puVar5[1];
        goto code_r0x00019ec0;
      }
      uVar4 = 9;
      break;
    case 10:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x110) = puVar5[1];
      goto code_r0x00019ec0;
    case 0xb:
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        uVar1 = puVar5[1];
        gnutls_priority_deinit(*(undefined4 *)(param_1 + 0x10c));
        iVar2 = gnutls_priority_init(param_1 + 0x10c,uVar1,0);
        if (iVar2 == 0) goto code_r0x00019f2e;
        uVar4 = gnutls_strerror(iVar2);
        FUN_000215b0(param_1,"Setting priorities to `%s\' failed: %s\n",uVar1,uVar4);
        uVar4 = 0;
        *(undefined4 *)(param_1 + 0x10c) = 0;
        goto LAB_0001a402;
      }
      uVar4 = 0xb;
      break;
    case 0xc:
      if ((*(byte *)(param_1 + 0xf9) & 1) != 0) {
        pcVar3 = 
        "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET flag set.\n";
        goto LAB_0001a3c9;
      }
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0xc4) = puVar5[1];
      goto code_r0x00019ec0;
    case 0xd:
      param_3 = puVar5 + 3;
      *(uint *)(param_1 + 0x68) = puVar5[1];
      *(uint *)(param_1 + 0x6c) = puVar5[2];
      goto code_r0x00019ec0;
    case 0xe:
      uVar1 = puVar5[1];
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x88) = uVar1;
      if (uVar1 == 0) {
        FUN_000215b0(param_1,
                     "Warning: Zero size, specified for thread pool size, is ignored. Thread pool is not used.\n"
                    );
      }
      else {
        if (uVar1 != 1) {
          if (uVar1 < 0xb02c0b) {
            if ((*(uint *)(param_1 + 0xf8) & 8) == 0) {
              pcVar3 = 
              "MHD_OPTION_THREAD_POOL_SIZE option is specified but MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"
              ;
            }
            else {
              if ((*(uint *)(param_1 + 0xf8) & 4) == 0) goto code_r0x00019f2e;
              pcVar3 = 
              "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"
              ;
            }
          }
          else {
            pcVar3 = "Specified thread pool size (%u) too big\n";
          }
          goto LAB_0001a3c9;
        }
        FUN_000215b0(param_1,
                     "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is not used.\n"
                    );
        *(undefined4 *)(param_1 + 0x88) = 0;
      }
      goto code_r0x00019ec0;
    case 0xf:
      param_3 = puVar5 + 2;
      iVar2 = *(int *)puVar5[1];
      if (iVar2 == 0) goto code_r0x00019ec0;
      piVar6 = (int *)puVar5[1] + 1;
      goto code_r0x0001a120;
    case 0x10:
      param_3 = puVar5 + 3;
      *(uint *)(param_1 + 0x60) = puVar5[1];
      *(uint *)(param_1 + 100) = puVar5[2];
      goto code_r0x00019ec0;
    case 0x11:
      param_3 = puVar5 + 3;
      *(uint *)(param_1 + 0x164) = puVar5[1];
      *(uint *)(param_1 + 0x144) = puVar5[2];
      goto code_r0x00019ec0;
    case 0x12:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x168) = puVar5[1];
      goto code_r0x00019ec0;
    case 0x13:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x84) = puVar5[1];
      goto code_r0x00019ec0;
    case 0x14:
      param_3 = puVar5 + 2;
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        *(uint *)(param_1 + 0x138) = puVar5[1];
        goto code_r0x00019ec0;
      }
      uVar4 = 0x14;
      break;
    case 0x15:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x80) = puVar5[1];
      goto code_r0x00019ec0;
    case 0x16:
      param_3 = puVar5 + 2;
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        *(uint *)(param_1 + 0x120) = puVar5[1];
        goto code_r0x00019ec0;
      }
      uVar4 = 0x16;
      break;
    case 0x17:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x16c) = puVar5[1];
      goto code_r0x00019ec0;
    case 0x18:
      param_3 = puVar5 + 2;
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        pcVar3 = (char *)puVar5[1];
        iVar2 = func_0x00013680(param_1 + 0x13c);
        if (iVar2 < 0) {
          FUN_000215b0(param_1,"Error initializing DH parameters\n");
          goto code_r0x0001a400;
        }
        pcStack_28 = pcVar3;
        sStack_24 = strlen(pcVar3);
        iVar2 = func_0x000132d0(*(undefined4 *)(param_1 + 0x13c),&pcStack_28,1);
        if (iVar2 < 0) {
          FUN_000215b0(param_1,"Bad Diffie-Hellman parameters format\n");
          gnutls_dh_params_deinit(*(undefined4 *)(param_1 + 0x13c));
          goto code_r0x0001a400;
        }
        *(undefined1 *)(param_1 + 0x140) = 1;
        goto code_r0x00019ec0;
      }
      uVar4 = 0x18;
      break;
    case 0x19:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 200) = -(uint)(puVar5[1] == 0) | 1;
      goto code_r0x00019ec0;
    case 0x1a:
      param_3 = puVar5 + 2;
      if ((*(byte *)(param_1 + 0xf8) & 2) != 0) {
        *(uint *)(param_1 + 0x134) = puVar5[1];
        goto code_r0x00019ec0;
      }
      uVar4 = 0x1a;
      break;
    case 0x1b:
      param_3 = puVar5 + 3;
      *(uint *)(param_1 + 0x50) = puVar5[1];
      *(uint *)(param_1 + 0x54) = puVar5[2];
      goto code_r0x00019ec0;
    case 0x1c:
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x170) = puVar5[1];
      goto code_r0x00019ec0;
    case 0x1d:
      uVar1 = puVar5[1];
      param_3 = puVar5 + 2;
      *(uint *)(param_1 + 0x100) = uVar1;
      if (((*(byte *)(param_1 + 0xf8) & 0x20) == 0) || (uVar1 == 1)) {
code_r0x00019f2e:
        param_3 = puVar5 + 2;
      }
      else {
        FUN_000215b0(param_1,
                     "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is specified by MHD_OPTION_STRICT_CLIENT.\n"
                    );
      }
      goto code_r0x00019ec0;
    case 0x1e:
      goto code_r0x00019ee0;
    default:
      if ((uVar1 < 0x1f) && ((0x40100f00U >> (uVar1 & 0x1f) & 1) != 0)) {
        pcVar3 = "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n";
      }
      else {
        pcVar3 = "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n";
      }
LAB_0001a3c9:
      FUN_000215b0(param_1,pcVar3);
      uVar4 = 0;
      goto LAB_0001a402;
    }
    param_3 = puVar5 + 2;
    FUN_000215b0(param_1,"MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n",uVar4);
    goto code_r0x00019ec0;
  }
LAB_00019f00:
  uVar4 = 1;
  goto LAB_0001a402;
code_r0x00019ee0:
  *(uint *)(param_1 + 0x124) = puVar5[1];
  *(uint *)(param_1 + 0x128) = puVar5[2];
  uVar1 = puVar5[3];
  puVar5 = puVar5 + 3;
  if (uVar1 == 0) goto LAB_00019f00;
  goto code_r0x00019ec6;
  while( true ) {
    iVar2 = FUN_0001a5d0(param_1,param_2,iVar2,iVar7,iVar8);
    if (iVar2 != 1) goto code_r0x0001a400;
    iVar2 = piVar6[2];
    piVar6 = piVar6 + 3;
    if (iVar2 == 0) break;
code_r0x0001a120:
                    /* WARNING: Could not find normalized switch variable to match jumptable */
    switch(iVar2) {
    case 1:
    case 2:
    case 3:
    case 5:
    case 0xe:
    case 0x12:
    case 0x13:
    case 0x15:
    case 0x17:
    case 0x19:
    case 0x1c:
      iVar8 = 0;
      iVar7 = *piVar6;
      break;
    case 4:
    case 7:
    case 0xd:
    case 0x10:
    case 0x1b:
    case 0x1e:
      iVar8 = piVar6[1];
      iVar7 = *piVar6;
      break;
    case 6:
    case 8:
    case 9:
    case 0xb:
    case 0xf:
    case 0x14:
    case 0x16:
    case 0x18:
    case 0x1a:
      iVar8 = 0;
      iVar7 = piVar6[1];
      break;
    case 10:
      iVar8 = 0;
      iVar7 = *piVar6;
      iVar2 = 10;
      break;
    case 0xc:
      iVar8 = 0;
      iVar7 = *piVar6;
      iVar2 = 0xc;
      break;
    case 0x11:
      iVar8 = piVar6[1];
      iVar7 = *piVar6;
      iVar2 = 0x11;
      break;
    case 0x1d:
      iVar8 = 0;
      iVar7 = *piVar6;
      iVar2 = 0x1d;
      break;
    default:
      goto code_r0x0001a400;
    }
  }
  goto code_r0x00019ec0;
code_r0x0001a320:
  param_3 = puVar5 + 2;
  *(uint *)(param_1 + 0x7c) = puVar5[1];
  goto code_r0x00019ec0;
code_r0x0001a400:
  uVar4 = 0;
LAB_0001a402:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_000299b0();
  }
  return uVar4;
}

