
/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */

MHD_Daemon *
MHD_start_daemon_va(uint flags,uint16_t port,MHD_AcceptPolicyCallback apc,void *apc_cls,
                   MHD_AccessHandlerCallback dh,void *dh_cls,va_list ap)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  int iVar4;
  MHD_Daemon *daemon;
  MHD_Result MVar5;
  MHD_FLAG MVar6;
  uint uVar7;
  MHD_NonceNc *pMVar8;
  int iVar9;
  int *piVar10;
  MHD_mutex_ *pMVar11;
  undefined4 *puVar12;
  MHD_Daemon *pMVar13;
  int iVar14;
  code *pcVar15;
  MHD_THREAD_START_ROUTINE_ start_routine;
  MHD_Connection **ppMVar16;
  undefined2 in_register_00000014;
  char *thread_name;
  MHD_Connection *pMVar17;
  undefined4 uVar18;
  MHD_Connection *pMVar19;
  void *pvVar20;
  int *piVar21;
  MHD_FLAG unaff_s2;
  MHD_mutex_ *unaff_s4;
  MHD_mutex_ *pMVar22;
  uint uVar23;
  undefined4 *arg;
  uint uVar24;
  MHD_SCKT_OPT_BOOL_ on;
  sockaddr *servaddr;
  socklen_t addrlen;
  MHD_SCKT_OPT_BOOL_ v6_only;
  sockaddr_in servaddr4;
  sockaddr_in6 servaddr6;
  sockaddr_storage bindaddr;
  
  puVar3 = PTR___stack_chk_guard_0003d244;
  pMVar11 = (MHD_mutex_ *)CONCAT22(in_register_00000014,port);
  piVar21 = (int *)(flags & 2);
  iVar4 = *(int *)PTR___stack_chk_guard_0003d244;
  on = 1;
  servaddr = (sockaddr *)0x0;
  if (piVar21 != (int *)0x0) goto LAB_0001d568;
  unaff_s2 = flags;
  if ((flags & 0x8000) != 0) {
    unaff_s2 = flags | MHD_ALLOW_SUSPEND_RESUME;
  }
  unaff_s4 = pMVar11;
  if (dh == (MHD_AccessHandlerCallback)0x0) goto LAB_0001d568;
  if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) == (MHD_USE_EPOLL|MHD_USE_POLL)) goto LAB_0001d568;
  if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)) ==
      (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)) goto LAB_0001d568;
  if ((unaff_s2 & (MHD_USE_POLL_INTERNALLY|MHD_USE_THREAD_PER_CONNECTION)) == MHD_USE_POLL)
  goto LAB_0001d568;
  if ((int)(unaff_s2 << 0xf) < 0) {
    if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) goto LAB_0001d568;
    if ((unaff_s2 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {
      unaff_s2 = unaff_s2 | MHD_USE_EPOLL;
    }
    else {
      unaff_s2 = unaff_s2 | MHD_USE_POLL;
    }
  }
  daemon = (MHD_Daemon *)(*(code *)PTR_calloc_0003d120)(1,0x130);
  if (daemon == (MHD_Daemon *)0x0) goto LAB_0001d568;
  daemon->listening_address_reuse = 0;
  daemon->epoll_fd = -1;
  daemon->listen_fd = -1;
  (daemon->itc).fd = -1;
  daemon->connection_limit = 0x3fc;
  daemon->listen_backlog_size = 0x80;
  puVar1 = PTR_LAB_0003d054;
  daemon->pool_size = 0x8000;
  daemon->strict_for_client = (unaff_s2 << 0x1a) >> 0x1f;
  daemon->pool_increment = 0x400;
  puVar2 = PTR_LAB_0003d054;
  daemon->custom_error_log = (MHD_LogCallback)(puVar1 + -0x7d68);
  puVar1 = PTR_stderr_0003d258;
  daemon->options = unaff_s2;
  daemon->port = port;
  daemon->apc = apc;
  daemon->apc_cls = apc_cls;
  daemon->default_handler = dh;
  daemon->default_handler_cls = dh_cls;
  daemon->connections = 0;
  daemon->unescape_callback = (UnescapeCallback)(puVar2 + -0x7d48);
  daemon->connection_timeout = 0;
  daemon->custom_error_log_cls = *(void **)puVar1;
  if ((unaff_s2 & (MHD_USE_INTERNAL_POLLING_THREAD|MHD_USE_THREAD_PER_CONNECTION)) ==
      MHD_USE_THREAD_PER_CONNECTION) {
    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x43e0);
    unaff_s2 = daemon->options | MHD_USE_INTERNAL_POLLING_THREAD;
    daemon->options = unaff_s2;
LAB_0001d440:
    if ((unaff_s2 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {
      unaff_s2 = unaff_s2 | MHD_USE_ITC;
      daemon->options = unaff_s2;
    }
  }
  else {
    if ((unaff_s2 & MHD_USE_INTERNAL_POLLING_THREAD) != MHD_NO_FLAG) goto LAB_0001d440;
    unaff_s2 = unaff_s2 & ~MHD_USE_ITC;
    daemon->options = unaff_s2;
  }
  daemon->digest_auth_rand_size = 0;
  daemon->digest_auth_random = (char *)0x0;
  daemon->nonce_nc_size = 4;
  MVar5 = parse_options_va(daemon,&servaddr,ap);
  if (MVar5 != MHD_YES) goto LAB_0001d4f0;
  MVar6 = daemon->options;
  if ((daemon->notify_completed == (MHD_RequestCompletedCallback)0x0) ||
     ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)) {
    if ((MVar6 & MHD_USE_ITC) != MHD_NO_FLAG) {
      uVar7 = daemon->worker_pool_size;
      goto LAB_0001d2f4;
    }
  }
  else {
    daemon->options = MVar6 | MHD_USE_ITC;
    uVar7 = daemon->worker_pool_size;
LAB_0001d2f4:
    if (uVar7 == 0) {
      iVar9 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);
      (daemon->itc).fd = iVar9;
      if (iVar9 == -1) {
        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);
        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);
        goto LAB_0001d9f0;
      }
      if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9)) {
        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);
        iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);
        if (iVar9 == 0) goto LAB_0001d4f0;
        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();
        uVar18 = 0x172d;
        if (*piVar10 != 9) goto LAB_0001d4f0;
        goto LAB_0001d9b4;
      }
    }
  }
  uVar7 = daemon->nonce_nc_size;
  if (uVar7 != 0) {
    if (uVar7 != (uVar7 * 0x98) / 0x98) goto LAB_0001d9d8;
    pMVar8 = (MHD_NonceNc *)(*(code *)PTR_malloc_0003d1e0)();
    daemon->nnc = pMVar8;
    if (pMVar8 == (MHD_NonceNc *)0x0) {
      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);
      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x425c,uVar18);
      goto LAB_0001d9f0;
    }
  }
  ap = &daemon->nnc_lock;
  iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(ap,0);
  if (iVar9 != 0) {
    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x422c);
    (*(code *)PTR_free_0003d250)(daemon->nnc);
    goto LAB_0001d9f0;
  }
  MVar6 = daemon->options;
  if (((MVar6 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) && (daemon->worker_pool_size != 0))
  {
    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4200);
    goto LAB_0001d46c;
  }
  unaff_s2 = daemon->listen_fd;
  if (unaff_s2 == ~MHD_NO_FLAG) {
    if ((MVar6 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) goto LAB_0001d3c4;
    iVar9 = 2;
    if ((MVar6 & MHD_USE_IPv6) != MHD_NO_FLAG) {
      iVar9 = 10;
    }
    unaff_s2 = MHD_socket_create_listen_(iVar9);
    if (unaff_s2 == ~MHD_NO_FLAG) {
      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);
      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x41b8,uVar18);
      goto LAB_0001d46c;
    }
    if (daemon->listening_address_reuse == 0) {
      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);
      if (iVar9 < 0) {
        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);
        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);
      }
    }
    else if (0 < daemon->listening_address_reuse) {
      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);
      if (iVar9 < 0) {
        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);
        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);
      }
      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4);
      if (iVar9 < 0) {
        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);
        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);
        goto LAB_0001d46c;
      }
    }
    if ((daemon->options & MHD_USE_IPv6) == MHD_NO_FLAG) {
      addrlen = 0x10;
      if (servaddr == (sockaddr *)0x0) {
        servaddr4.sin_addr.s_addr = 0;
        servaddr4.sin_zero[0] = '\0';
        servaddr4.sin_zero[1] = '\0';
        servaddr4.sin_zero[2] = '\0';
        servaddr4.sin_zero[3] = '\0';
        servaddr4.sin_family = 2;
        servaddr = (sockaddr *)&servaddr4;
        servaddr4.sin_zero[4] = '\0';
        servaddr4.sin_zero[5] = '\0';
        servaddr4.sin_zero[6] = '\0';
        servaddr4.sin_zero[7] = '\0';
        daemon->listen_fd = unaff_s2;
        servaddr4.sin_port = port;
      }
      else {
        daemon->listen_fd = unaff_s2;
      }
    }
    else {
      addrlen = 0x1c;
      if (servaddr == (sockaddr *)0x0) {
        servaddr6.sin6_flowinfo = 0;
        servaddr6.sin6_scope_id = 0;
        servaddr6.sin6_family = 10;
        servaddr = (sockaddr *)&servaddr6;
        servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;
        servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;
        servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;
        servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;
        daemon->listen_fd = unaff_s2;
        servaddr6.sin6_port = port;
      }
      else {
        daemon->listen_fd = unaff_s2;
      }
      v6_only = (MHD_SCKT_OPT_BOOL_)((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);
      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&v6_only,4);
      if (iVar9 < 0) {
        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);
        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);
      }
    }
    iVar9 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,servaddr,addrlen);
    puVar1 = PTR_setsockopt_0003d284;
    if (iVar9 == -1) {
      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();
      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);
      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4174,pMVar11,uVar18);
      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);
      if (iVar9 == 0) goto LAB_0001d46c;
      iVar9 = *piVar21;
      uVar18 = 0x184d;
    }
    else {
      if ((daemon->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {
        if (daemon->fastopen_queue_size == 0) {
          daemon->fastopen_queue_size = 10;
        }
        iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4);
        if (iVar9 != 0) {
          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);
          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);
        }
      }
      iVar9 = (*(code *)PTR_listen_0003d16c)(unaff_s2,daemon->listen_backlog_size);
      if (-1 < iVar9) goto LAB_0001d388;
      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();
      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);
      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4154,uVar18);
      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);
      if (iVar9 == 0) goto LAB_0001d46c;
      iVar9 = *piVar21;
      uVar18 = 0x186b;
    }
joined_r0x0001de3c:
    do {
      if (iVar9 != 9) goto LAB_0001d46c;
LAB_0001db00:
      (**(code **)PTR_mhd_panic_0003d03c)
                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,
                 PTR_DAT_0003d02c + -0x4cfc);
LAB_0001db20:
      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);
      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x412c,uVar18);
LAB_0001d394:
      iVar9 = MHD_socket_nonblocking_(unaff_s2);
      if (iVar9 == 0) goto LAB_0001da08;
      MVar6 = daemon->options;
      if ((0x3ff < (int)unaff_s2) && ((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG))
      goto LAB_0001daac;
LAB_0001d3c4:
      if (((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0)) {
        if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {
          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);
          goto LAB_0001d46c;
        }
        MVar5 = setup_epoll_to_listen(daemon);
        if (MVar5 != MHD_YES) goto LAB_0001d46c;
      }
      pMVar11 = &daemon->per_ip_connection_mutex;
      iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);
      if (iVar9 == 0) {
LAB_0001d824:
        pMVar22 = &daemon->cleanup_connection_mutex;
        iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);
        if (iVar9 == 0) {
          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=
              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;
          uVar7 = daemon->worker_pool_size;
          if (uVar7 != 0) {
            uVar23 = daemon->connection_limit;
            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);
            daemon->worker_pool = pMVar13;
            puVar1 = PTR_DAT_0003d02c;
            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;
            if (uVar7 == 0) {
              trap(7);
            }
            uVar24 = uVar23 / uVar7;
            iVar9 = 0;
            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);
            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);
            do {
              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);
              puVar12 = arg;
              pMVar13 = daemon;
              do {
                ppMVar16 = &pMVar13->suspended_connections_head;
                pvVar20 = pMVar13->default_handler_cls;
                pMVar19 = pMVar13->connections_head;
                pMVar17 = pMVar13->connections_tail;
                *puVar12 = pMVar13->default_handler;
                puVar12[1] = pvVar20;
                puVar12[2] = pMVar19;
                puVar12[3] = pMVar17;
                puVar12 = puVar12 + 4;
                pMVar13 = (MHD_Daemon *)ppMVar16;
              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);
              arg[0x1c] = daemon;
              arg[0x22] = 0;
              arg[0x1d] = 0;
              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {
                arg[0x36] = 0xffffffff;
              }
              else {
                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);
                arg[0x36] = iVar14;
                if (iVar14 == -1) {
                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);
                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);
                  goto LAB_0001e054;
                }
                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&
                   (0x3ff < iVar14)) {
                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);
                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);
                  if (iVar9 == 0) goto LAB_0001e054;
                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();
                  if (*piVar10 != 9) goto LAB_0001e054;
                  uVar18 = 0x1977;
                  goto LAB_0001d9b4;
                }
              }
              if (piVar21 < (int *)(uVar23 % uVar7)) {
                arg[0x3a] = uVar24 + 1;
              }
              else {
                arg[0x3a] = uVar24;
              }
              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&
                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;
              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);
              if (iVar14 != 0) goto LAB_0001e2a8;
              iVar14 = MHD_create_named_thread_
                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,
                                  daemon->thread_stack_size,start_routine,arg);
              if (iVar14 == 0) {
                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);
                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);
                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);
                uVar18 = 0x19a1;
                if (iVar9 == 0) goto LAB_0001e054;
                goto LAB_0001e284;
              }
              piVar21 = (int *)((int)piVar21 + 1);
              iVar9 = iVar9 + 0x130;
              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;
              pMVar13 = daemon->worker_pool;
            } while( true );
          }
          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {
            thread_name = PTR_DAT_0003d02c + -0x43ec;
          }
          else {
            thread_name = PTR_DAT_0003d02c + -0x43f8;
          }
          iVar9 = MHD_create_named_thread_
                            (&daemon->pid,thread_name,daemon->thread_stack_size,
                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);
          if (iVar9 != 0) goto LAB_0001d504;
          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();
          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);
          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);
          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);
          uVar18 = 0x193b;
          if (iVar9 != 0) goto LAB_0001e284;
          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);
          uVar18 = 0x193c;
          if (iVar9 != 0) goto LAB_0001e284;
          if ((unaff_s2 == ~MHD_NO_FLAG) ||
             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;
          iVar9 = *piVar21;
          uVar18 = 0x193e;
          goto joined_r0x0001de3c;
        }
        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);
        iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);
        uVar18 = 0x190e;
        if (iVar9 != 0) goto LAB_0001e284;
        if ((unaff_s2 != ~MHD_NO_FLAG) &&
           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {
          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();
          iVar9 = *piVar10;
          uVar18 = 0x1911;
          goto joined_r0x0001de3c;
        }
        goto LAB_0001d46c;
      }
      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);
      if (unaff_s2 == ~MHD_NO_FLAG) goto LAB_0001d46c;
LAB_0001d660:
      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);
      if (iVar9 == 0) goto LAB_0001d46c;
      piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();
      iVar9 = *piVar10;
      uVar18 = 0x1904;
    } while( true );
  }
LAB_0001d388:
  if (daemon->port != 0) goto LAB_0001d394;
  if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) goto LAB_0001d394;
  uVar18 = (*(code *)PTR_memset_0003d19c)(&bindaddr,0,0x80);
  addrlen = 0x80;
  iVar9 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar18,&addrlen);
  if (iVar9 != 0) goto LAB_0001db20;
  if (0x80 < addrlen) {
    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4104);
    goto LAB_0001d394;
  }
  if ((bindaddr.ss_family != 2) && (bindaddr.ss_family != 10)) {
    if (bindaddr.ss_family != 1) {
      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x40b8);
    }
    daemon->port = 0;
    goto LAB_0001d394;
  }
  daemon->port = bindaddr.__ss_padding._0_2_;
  goto LAB_0001d394;
LAB_0001da08:
  pMVar11 = (MHD_mutex_ *)(*(code *)PTR___errno_location_0003d198)();
  uVar18 = (*(code *)PTR_strerror_0003d1dc)((pMVar11->__data).__lock);
  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x409c,uVar18);
  if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) || (daemon->worker_pool_size != 0)) {
    iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);
    if (iVar9 == 0) goto LAB_0001d46c;
    iVar9 = (pMVar11->__data).__lock;
    uVar18 = 0x18d4;
    goto joined_r0x0001de3c;
  }
  if (((int)unaff_s2 < 0x400) || ((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG))
  {
    pMVar11 = &daemon->per_ip_connection_mutex;
    iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);
    if (iVar9 != 0) {
      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);
      goto LAB_0001d660;
    }
    goto LAB_0001d824;
  }
LAB_0001daac:
  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);
  iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);
  if (iVar9 != 0) {
    piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();
    iVar9 = *piVar10;
    uVar18 = 0x18e3;
    goto joined_r0x0001de3c;
  }
LAB_0001d46c:
  if (daemon->epoll_fd != -1) {
    (*(code *)PTR_close_0003d128)();
  }
  (*(code *)PTR_free_0003d250)(daemon->nnc);
  iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(ap);
  if (iVar9 != 0) goto LAB_0001e310;
  if (((daemon->itc).fd != -1) && (iVar9 = (*(code *)PTR_close_0003d128)(), iVar9 != 0)) {
    piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();
    uVar18 = 0x19f0;
    if (*piVar10 == 9) {
LAB_0001d9b4:
      (**(code **)PTR_mhd_panic_0003d03c)
                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,
                 PTR_DAT_0003d02c + -0x442c);
LAB_0001d9d8:
      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4284);
LAB_0001d9f0:
      (*(code *)PTR_free_0003d250)(daemon);
      daemon = (MHD_Daemon *)0x0;
      goto LAB_0001d504;
    }
  }
LAB_0001d4f0:
  (*(code *)PTR_free_0003d250)(daemon);
  daemon = (MHD_Daemon *)0x0;
LAB_0001d504:
  do {
    if (iVar4 == *(int *)puVar3) {
      return daemon;
    }
    (*(code *)PTR___stack_chk_fail_0003d21c)();
LAB_0001e310:
    uVar18 = 0x19e2;
LAB_0001e284:
    while( true ) {
      (**(code **)PTR_mhd_panic_0003d03c)
                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,
                 PTR_DAT_0003d02c + -0x4414);
LAB_0001e2a8:
      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20);
LAB_0001e054:
      puVar1 = PTR_MHD_stop_daemon_0003d168;
      if (piVar21 != (int *)0x0) break;
LAB_0001e05c:
      if ((unaff_s2 != ~MHD_NO_FLAG) &&
         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {
        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();
        uVar18 = 0x19b9;
        if (*piVar10 == 9) goto LAB_0001db00;
      }
      iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);
      uVar18 = 0x19ba;
      if (iVar9 == 0) {
        if (daemon->worker_pool != (MHD_Daemon *)0x0) {
          (*(code *)PTR_free_0003d250)();
        }
        goto LAB_0001d46c;
      }
    }
    daemon->worker_pool_size = (uint)piVar21;
    (*(code *)puVar1)(daemon);
    unaff_s4 = pMVar11;
LAB_0001d568:
    pMVar11 = unaff_s4;
    daemon = (MHD_Daemon *)0x0;
  } while( true );
}



int * MHD_start_daemon_va(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,
                         int *param_7)

{
  undefined *puVar1;
  int *piVar2;
  int iVar3;
  uint uVar4;
  int *piVar5;
  undefined4 *puVar6;
  code *pcVar7;
  undefined *puVar8;
  int *piVar9;
  int *piVar10;
  undefined *puVar11;
  undefined4 uVar12;
  int iVar13;
  int iVar14;
  int *piVar15;
  uint unaff_s2;
  int *unaff_s4;
  undefined2 uVar16;
  uint uVar17;
  int iVar18;
  int *piVar19;
  uint uVar20;
  undefined4 local_e8;
  undefined2 *local_e4;
  uint local_e0;
  uint local_dc;
  undefined2 local_d8;
  undefined2 local_d6;
  undefined4 local_d4;
  undefined4 local_d0;
  undefined4 local_cc;
  undefined2 local_c8;
  undefined2 local_c6;
  undefined4 local_c4;
  undefined4 local_c0;
  undefined4 local_bc;
  undefined4 local_b8;
  undefined4 local_b4;
  undefined4 local_b0;
  short local_ac;
  undefined2 local_aa;
  int local_2c;
  
  puVar1 = PTR___stack_chk_guard_0003d244;
  piVar15 = (int *)(param_1 & 2);
  local_2c = *(int *)PTR___stack_chk_guard_0003d244;
  local_e8 = 1;
  local_e4 = (undefined2 *)0x0;
  if (piVar15 != (int *)0x0) goto LAB_0001d568;
  unaff_s2 = param_1;
  if ((param_1 & 0x8000) != 0) {
    unaff_s2 = param_1 | 0x2400;
  }
  unaff_s4 = param_2;
  if (param_5 == 0) goto LAB_0001d568;
  if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;
  if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;
  if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;
  if ((int)(unaff_s2 << 0xf) < 0) {
    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;
    if ((unaff_s2 & 4) == 0) {
      unaff_s2 = unaff_s2 | 0x200;
    }
    else {
      unaff_s2 = unaff_s2 | 0x40;
    }
  }
  piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);
  if (piVar2 == (int *)0x0) goto LAB_0001d568;
  piVar2[0x33] = 0;
  piVar2[0x34] = -1;
  piVar2[0x32] = -1;
  piVar2[0x36] = -1;
  piVar2[0x3a] = 0x3fc;
  piVar2[0x4b] = 0x80;
  puVar11 = PTR_LAB_0003d054;
  piVar2[0x1f] = 0x8000;
  piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;
  piVar2[0x20] = 0x400;
  puVar8 = PTR_LAB_0003d054;
  piVar2[0x1a] = (int)(puVar11 + -0x7d68);
  puVar11 = PTR_stderr_0003d258;
  piVar2[0x3d] = unaff_s2;
  uVar16 = SUB42(param_2,0);
  *(undefined2 *)(piVar2 + 0x3e) = uVar16;
  piVar2[0x10] = param_3;
  piVar2[0x11] = param_4;
  *piVar2 = param_5;
  piVar2[1] = param_6;
  piVar2[0x39] = 0;
  piVar2[0x18] = (int)(puVar8 + -0x7d48);
  piVar2[0x3b] = 0;
  piVar2[0x1b] = *(int *)puVar11;
  if ((unaff_s2 & 0xc) == 4) {
    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);
    unaff_s2 = piVar2[0x3d] | 8;
    piVar2[0x3d] = unaff_s2;
LAB_0001d440:
    if ((unaff_s2 & 0x100) != 0) {
      unaff_s2 = unaff_s2 | 0x400;
      piVar2[0x3d] = unaff_s2;
    }
  }
  else {
    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;
    unaff_s2 = unaff_s2 & 0xfffffbff;
    piVar2[0x3d] = unaff_s2;
  }
  piVar2[0x48] = 0;
  piVar2[0x40] = 0;
  piVar2[0x49] = 4;
  iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);
  if (iVar3 != 1) goto LAB_0001d4f0;
  uVar4 = piVar2[0x3d];
  if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {
    if ((uVar4 & 0x400) != 0) {
      iVar3 = piVar2[0x22];
      goto LAB_0001d2f4;
    }
  }
  else {
    piVar2[0x3d] = uVar4 | 0x400;
    iVar3 = piVar2[0x22];
LAB_0001d2f4:
    if (iVar3 == 0) {
      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);
      piVar2[0x36] = iVar3;
      if (iVar3 == -1) {
        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);
        goto LAB_0001d9f0;
      }
      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);
        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);
        if (iVar3 == 0) goto LAB_0001d4f0;
        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = 0x172d;
        if (*piVar5 != 9) goto LAB_0001d4f0;
        goto LAB_0001d9b4;
      }
    }
  }
  uVar4 = piVar2[0x49];
  if (uVar4 != 0) {
    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;
    iVar3 = (*(code *)PTR_malloc_0003d1e0)();
    piVar2[0x41] = iVar3;
    if (iVar3 == 0) {
      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);
      goto LAB_0001d9f0;
    }
  }
  param_7 = piVar2 + 0x42;
  iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);
  if (iVar3 != 0) {
    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);
    (*(code *)PTR_free_0003d250)(piVar2[0x41]);
    goto LAB_0001d9f0;
  }
  uVar4 = piVar2[0x3d];
  if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {
    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);
    goto LAB_0001d46c;
  }
  unaff_s2 = piVar2[0x32];
  if (unaff_s2 == 0xffffffff) {
    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;
    uVar12 = 2;
    if ((uVar4 & 0x10) != 0) {
      uVar12 = 10;
    }
    unaff_s2 = FUN_000200f4(uVar12);
    if (unaff_s2 == 0xffffffff) {
      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);
      goto LAB_0001d46c;
    }
    if (piVar2[0x33] == 0) {
      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);
      if (iVar3 < 0) {
        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);
      }
    }
    else if (0 < piVar2[0x33]) {
      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);
      if (iVar3 < 0) {
        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);
      }
      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);
      if (iVar3 < 0) {
        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);
        goto LAB_0001d46c;
      }
    }
    if ((piVar2[0x3d] & 0x10U) == 0) {
      local_e0 = 0x10;
      if (local_e4 == (undefined2 *)0x0) {
        local_d4 = 0;
        local_d0 = 0;
        local_d8 = 2;
        local_e4 = &local_d8;
        local_cc = 0;
        piVar2[0x32] = unaff_s2;
        local_d6 = uVar16;
      }
      else {
        piVar2[0x32] = unaff_s2;
      }
    }
    else {
      local_e0 = 0x1c;
      if (local_e4 == (undefined2 *)0x0) {
        local_c4 = 0;
        local_b0 = 0;
        local_c8 = 10;
        local_e4 = &local_c8;
        local_c0 = 0;
        local_bc = 0;
        local_b8 = 0;
        local_b4 = 0;
        piVar2[0x32] = unaff_s2;
        local_c6 = uVar16;
      }
      else {
        piVar2[0x32] = unaff_s2;
      }
      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);
      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);
      if (iVar3 < 0) {
        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);
      }
    }
    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);
    puVar11 = PTR_setsockopt_0003d284;
    if (iVar3 == -1) {
      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();
      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);
      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);
      if (iVar3 == 0) goto LAB_0001d46c;
      iVar3 = *piVar15;
      uVar12 = 0x184d;
    }
    else {
      if ((piVar2[0x3d] & 0x4000U) != 0) {
        if (piVar2[0x4a] == 0) {
          piVar2[0x4a] = 10;
        }
        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);
        if (iVar3 != 0) {
          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);
        }
      }
      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);
      if (-1 < iVar3) goto LAB_0001d388;
      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();
      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);
      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);
      if (iVar3 == 0) goto LAB_0001d46c;
      iVar3 = *piVar15;
      uVar12 = 0x186b;
    }
joined_r0x0001de3c:
    do {
      if (iVar3 != 9) goto LAB_0001d46c;
LAB_0001db00:
      (**(code **)PTR_DAT_0003d03c)
                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,
                 PTR_DAT_0003d02c + -0x4cfc);
LAB_0001db20:
      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);
LAB_0001d394:
      iVar3 = FUN_0001fdfc(unaff_s2);
      if (iVar3 == 0) goto LAB_0001da08;
      uVar4 = piVar2[0x3d];
      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;
LAB_0001d3c4:
      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {
        if ((uVar4 & 4) != 0) {
          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);
          goto LAB_0001d46c;
        }
        iVar3 = FUN_000182d0(piVar2);
        if (iVar3 != 1) goto LAB_0001d46c;
      }
      param_2 = piVar2 + 0x25;
      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);
      if (iVar3 == 0) {
LAB_0001d824:
        piVar5 = piVar2 + 0x2b;
        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);
        if (iVar3 == 0) {
          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;
          uVar4 = piVar2[0x22];
          if (uVar4 != 0) {
            uVar17 = piVar2[0x3a];
            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);
            piVar2[0x1d] = iVar3;
            puVar11 = PTR_DAT_0003d02c;
            if (iVar3 == 0) goto LAB_0001e05c;
            if (uVar4 == 0) {
              trap(7);
            }
            uVar20 = uVar17 / uVar4;
            iVar18 = 0;
            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);
            puVar8 = PTR_LAB_0003d054 + -0x3aa8;
            do {
              piVar19 = (int *)(iVar3 + iVar18);
              piVar5 = piVar19;
              piVar9 = piVar2;
              do {
                piVar10 = piVar9 + 4;
                iVar14 = piVar9[1];
                iVar13 = piVar9[2];
                iVar3 = piVar9[3];
                *piVar5 = *piVar9;
                piVar5[1] = iVar14;
                piVar5[2] = iVar13;
                piVar5[3] = iVar3;
                piVar5 = piVar5 + 4;
                piVar9 = piVar10;
              } while (piVar10 != piVar2 + 0x4c);
              piVar19[0x1c] = (int)piVar2;
              piVar19[0x22] = 0;
              piVar19[0x1d] = 0;
              if ((piVar2[0x3d] & 0x400U) == 0) {
                piVar19[0x36] = -1;
              }
              else {
                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);
                piVar19[0x36] = iVar3;
                if (iVar3 == -1) {
                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);
                  goto LAB_0001e054;
                }
                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {
                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);
                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);
                  if (iVar3 == 0) goto LAB_0001e054;
                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
                  if (*piVar5 != 9) goto LAB_0001e054;
                  uVar12 = 0x1977;
                  goto LAB_0001d9b4;
                }
              }
              if (piVar15 < (int *)(uVar17 % uVar4)) {
                piVar19[0x3a] = uVar20 + 1;
              }
              else {
                piVar19[0x3a] = uVar20;
              }
              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))
              goto LAB_0001e054;
              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);
              if (iVar3 != 0) goto LAB_0001e2a8;
              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);
              if (iVar3 == 0) {
                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);
                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);
                uVar12 = 0x19a1;
                if (iVar3 == 0) goto LAB_0001e054;
                goto LAB_0001e284;
              }
              piVar15 = (int *)((int)piVar15 + 1);
              iVar18 = iVar18 + 0x130;
              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;
              iVar3 = piVar2[0x1d];
            } while( true );
          }
          if ((piVar2[0x3d] & 4U) == 0) {
            puVar11 = PTR_DAT_0003d02c + -0x43ec;
          }
          else {
            puVar11 = PTR_DAT_0003d02c + -0x43f8;
          }
          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)
          ;
          if (iVar3 != 0) goto LAB_0001d504;
          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();
          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);
          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);
          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);
          uVar12 = 0x193b;
          if (iVar3 != 0) goto LAB_0001e284;
          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);
          uVar12 = 0x193c;
          if (iVar3 != 0) goto LAB_0001e284;
          if ((unaff_s2 == 0xffffffff) ||
             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;
          iVar3 = *piVar15;
          uVar12 = 0x193e;
          goto joined_r0x0001de3c;
        }
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);
        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);
        uVar12 = 0x190e;
        if (iVar3 != 0) goto LAB_0001e284;
        if ((unaff_s2 != 0xffffffff) &&
           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {
          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
          iVar3 = *piVar5;
          uVar12 = 0x1911;
          goto joined_r0x0001de3c;
        }
        goto LAB_0001d46c;
      }
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);
      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;
LAB_0001d660:
      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);
      if (iVar3 == 0) goto LAB_0001d46c;
      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
      iVar3 = *piVar5;
      uVar12 = 0x1904;
    } while( true );
  }
LAB_0001d388:
  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;
  if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;
  uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);
  local_e0 = 0x80;
  iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);
  if (iVar3 != 0) goto LAB_0001db20;
  if (0x80 < local_e0) {
    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);
    goto LAB_0001d394;
  }
  if ((local_ac != 2) && (local_ac != 10)) {
    if (local_ac != 1) {
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);
    }
    *(undefined2 *)(piVar2 + 0x3e) = 0;
    goto LAB_0001d394;
  }
  *(undefined2 *)(piVar2 + 0x3e) = local_aa;
  goto LAB_0001d394;
LAB_0001da08:
  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();
  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);
  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);
  if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {
    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);
    if (iVar3 == 0) goto LAB_0001d46c;
    iVar3 = *param_2;
    uVar12 = 0x18d4;
    goto joined_r0x0001de3c;
  }
  if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {
    param_2 = piVar2 + 0x25;
    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);
    if (iVar3 != 0) {
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);
      goto LAB_0001d660;
    }
    goto LAB_0001d824;
  }
LAB_0001daac:
  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);
  iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);
  if (iVar3 != 0) {
    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
    iVar3 = *piVar5;
    uVar12 = 0x18e3;
    goto joined_r0x0001de3c;
  }
LAB_0001d46c:
  if (piVar2[0x34] != -1) {
    (*(code *)PTR_close_0003d128)();
  }
  (*(code *)PTR_free_0003d250)(piVar2[0x41]);
  iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);
  if (iVar3 != 0) goto LAB_0001e310;
  if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {
    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
    uVar12 = 0x19f0;
    if (*piVar5 == 9) {
LAB_0001d9b4:
      (**(code **)PTR_DAT_0003d03c)
                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,
                 PTR_DAT_0003d02c + -0x442c);
LAB_0001d9d8:
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);
LAB_0001d9f0:
      (*(code *)PTR_free_0003d250)(piVar2);
      piVar2 = (int *)0x0;
      goto LAB_0001d504;
    }
  }
LAB_0001d4f0:
  (*(code *)PTR_free_0003d250)(piVar2);
  piVar2 = (int *)0x0;
LAB_0001d504:
  do {
    if (local_2c == *(int *)puVar1) {
      return piVar2;
    }
    (*(code *)PTR___stack_chk_fail_0003d21c)();
LAB_0001e310:
    uVar12 = 0x19e2;
LAB_0001e284:
    while( true ) {
      (**(code **)PTR_DAT_0003d03c)
                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,
                 PTR_DAT_0003d02c + -0x4414);
LAB_0001e2a8:
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);
LAB_0001e054:
      puVar11 = PTR_MHD_stop_daemon_0003d168;
      if (piVar15 != (int *)0x0) break;
LAB_0001e05c:
      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))
      {
        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = 0x19b9;
        if (*piVar5 == 9) goto LAB_0001db00;
      }
      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);
      uVar12 = 0x19ba;
      if (iVar3 == 0) {
        if (piVar2[0x1d] != 0) {
          (*(code *)PTR_free_0003d250)();
        }
        goto LAB_0001d46c;
      }
    }
    piVar2[0x22] = (int)piVar15;
    (*(code *)puVar11)(piVar2);
    unaff_s4 = param_2;
LAB_0001d568:
    param_2 = unaff_s4;
    piVar2 = (int *)0x0;
  } while( true );
}


lui gp,0x2
addiu gp,gp,0x7edc
addu gp,gp,t9
addiu sp,sp,-0x120
li v1,0x1
sw s0,0xf8(sp)
sw s6,0x110(sp)
sw s5,0x10c(sp)
sw s3,0x104(sp)
sw s1,0xfc(sp)
andi s1,a0,0x2
sw gp,0x18(sp)
sw ra,0x11c(sp)
sw s8,0x118(sp)
sw s7,0x114(sp)
sw s4,0x108(sp)
sw s2,0x100(sp)
lw s0,-0x7dbc(gp)
lw s5,0x130(sp)
lw s6,0x134(sp)
lw s3,0x138(sp)
lw v0,0x0(s0)
sw v1,0x38(sp)
sw zero,0x3c(sp)
sw v0,0xf4(sp)
bne s1,zero,0x0001d568
_andi v0,a0,0x8000
or s2,a0,zero
or s4,a1,zero
or t0,a2,zero
bne v0,zero,0x0001d3fc
_or s7,a3,zero
beq s5,zero,0x0001d568
_li v1,0x240
andi v0,s2,0x240
beq v0,v1,0x0001d568
_li v1,0x204
andi a0,s2,0x204
beq a0,v1,0x0001d568
_li v1,0x40
andi a0,s2,0x4c
beq a0,v1,0x0001d568
_ext v1,s2,0x10,0x1
bne v1,zero,0x0001d404
_nop
lw t9,-0x7ee0(gp)
li a1,0x130
li a0,0x1
jalr t9
_sw t0,0x20(sp)
lw gp,0x18(sp)
beq v0,zero,0x0001d568
_or s8,v0,zero
li a0,-0x1
lw t0,0x20(sp)
li a1,0x3fc
sw zero,0xcc(s8)
sw a0,0xd0(s8)
ext v0,s2,0x5,0x1
sw a0,0xc8(s8)
li a2,0x4
sw a0,0xd8(s8)
li a0,0x80
sw a1,0xe8(s8)
ori a1,zero,0x8000
sw a0,0x12c(s8)
lw a0,-0x7fac(gp)
sw a1,0x7c(s8)
li a1,0x400
sw v0,0xfc(s8)
andi v0,s2,0xc
addiu a0,a0,-0x7d68
sw a1,0x80(s8)
lw a1,-0x7fac(gp)
sw a0,0x68(s8)
lw a0,-0x7da8(gp)
addiu a1,a1,-0x7d48
sw s2,0xf4(s8)
sh s4,0xf8(s8)
sw t0,0x40(s8)
sw s7,0x44(s8)
sw s5,0x0(s8)
sw s6,0x4(s8)
sw zero,0xe4(s8)
sw a1,0x60(s8)
sw zero,0xec(s8)
lw a0,0x0(a0)
beq v0,a2,0x0001d41c
_sw a0,0x6c(s8)
andi v0,s2,0x8
bne v0,zero,0x0001d440
_li v0,-0x401
and s2,s2,v0
sw s2,0xf4(s8)
lw t9,-0x7fd8(gp)
li v0,0x4
addiu a1,sp,0x3c
sw zero,0x120(s8)
or a0,s8,zero
sw zero,0x100(s8)
addiu t9,t9,0x7d48
sw v0,0x124(s8)
bal 0x00017d48
_or a2,s3,zero
li a0,0x1
bne v0,a0,0x0001d4f0
_lw gp,0x18(sp)
lw a0,0x48(s8)
beq a0,zero,0x0001d544
_lw v0,0xf4(s8)
andi a0,v0,0x4
beq a0,zero,0x0001d544
_nop
ori v0,v0,0x400
sw v0,0xf4(s8)
lw v0,0x88(s8)
beq v0,zero,0x0001d934
_lui a1,0x8
lw a1,0x124(s8)
beq a1,zero,0x0001d340
_li a0,0x98
lui a2,0x1af2
mul a0,a1,a0
ori a2,a2,0x86bd
srl v0,a0,0x3
multu v0,a2
mfhi v0
srl v0,v0,0x1
bne a1,v0,0x0001d9d8
_lw t9,-0x7e20(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x0001e170
_sw v0,0x104(s8)
lw t9,-0x7dc8(gp)
addiu s3,s8,0x108
or a1,zero,zero
jalr t9
_or a0,s3,zero
bne v0,zero,0x0001dcbc
_lw gp,0x18(sp)
lw a0,0xf4(s8)
andi v0,a0,0x8
bne v0,zero,0x0001d378
_nop
lw v0,0x88(s8)
bne v0,zero,0x0001d458
_lw a1,-0x7fd4(gp)
lw s2,0xc8(s8)
li s5,-0x1
beq s2,s5,0x0001d69c
_andi v0,a0,0x100
lhu v0,0xf8(s8)
beq v0,zero,0x0001d578
_nop
lw t9,-0x7f88(gp)
bal 0x0001fdfc
_or a0,s2,zero
beq v0,zero,0x0001da08
_lw gp,0x18(sp)
slti v0,s2,0x400
bne v0,zero,0x0001d3c0
_lw a0,0xf4(s8)
andi v0,a0,0x240
beq v0,zero,0x0001daac
_lw a1,-0x7fd4(gp)
andi v0,a0,0x200
beq v0,zero,0x0001d628
_lw t9,-0x7dc8(gp)
lw v0,0x88(s8)
bne v0,zero,0x0001d628
_andi a0,a0,0x4
beq a0,zero,0x0001d60c
_lw t9,-0x7fac(gp)
lw a1,-0x7fd4(gp)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x4064
b 0x0001d46c
_lw gp,0x18(sp)
b 0x0001d1a4
_ori s2,a0,0x2400
bne v0,zero,0x0001d568
_andi v0,s2,0x4
beq v0,zero,0x0001d570
_nop
b 0x0001d1d8
_ori s2,s2,0x40
lw a1,-0x7fd4(gp)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x43e0
lw s2,0xf4(s8)
lw gp,0x18(sp)
ori s2,s2,0x8
sw s2,0xf4(s8)
andi v0,s2,0x100
beq v0,zero,0x0001d2a0
_lw t9,-0x7fd8(gp)
ori s2,s2,0x400
b 0x0001d2a0
_sw s2,0xf4(s8)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x4200
lw gp,0x18(sp)
lw a0,0xd0(s8)
li v0,-0x1
beq a0,v0,0x0001d490
_lw t9,-0x7db0(gp)
lw t9,-0x7ed8(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7db0(gp)
jalr t9
_lw a0,0x104(s8)
lw gp,0x18(sp)
lw t9,-0x7d9c(gp)
jalr t9
_or a0,s3,zero
bne v0,zero,0x0001e310
_lw gp,0x18(sp)
lw a0,0xd8(s8)
li v0,-0x1
beq a0,v0,0x0001d4f0
_lw t9,-0x7ed8(gp)
jalr t9
_nop
beq v0,zero,0x0001d4f0
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
li a0,0x9
lw v0,0x0(v0)
li a2,0x19f0
beq v0,a0,0x0001d9b4
_lw gp,0x18(sp)
lw t9,-0x7db0(gp)
or a0,s8,zero
jalr t9
_or s8,zero,zero
lw gp,0x18(sp)
lw a0,0xf4(sp)
or v0,s8,zero
lw v1,0x0(s0)
bne a0,v1,0x0001e304
_lw ra,0x11c(sp)
lw s8,0x118(sp)
lw s7,0x114(sp)
lw s6,0x110(sp)
lw s5,0x10c(sp)
lw s4,0x108(sp)
lw s3,0x104(sp)
lw s2,0x100(sp)
lw s1,0xfc(sp)
lw s0,0xf8(sp)
jr ra
_addiu sp,sp,0x120
andi v0,v0,0x400
beq v0,zero,0x0001d2fc
_nop
b 0x0001d2f4
_lw v0,0x88(s8)
or a0,s8,zero
jalr t9
_sw s1,0x88(s8)
lw gp,0x18(sp)
b 0x0001d504
_or s8,zero,zero
b 0x0001d1d8
_ori s2,s2,0x200
lw v0,0xf4(s8)
andi v0,v0,0x100
bne v0,zero,0x0001d394
_lw t9,-0x7e64(gp)
addiu a3,sp,0x74
li a2,0x80
or a1,zero,zero
jalr t9
_or a0,a3,zero
addiu a2,sp,0x40
lw gp,0x18(sp)
or a1,v0,zero
li v0,0x80
or a0,s2,zero
lw t9,-0x7ea4(gp)
jalr t9
_sw v0,0x40(sp)
bne v0,zero,0x0001db20
_lw gp,0x18(sp)
lw v0,0x40(sp)
sltiu v0,v0,0x81
beq v0,zero,0x0001ddc0
_lhu v0,0x74(sp)
li a0,0x2
beq v0,a0,0x0001ddb4
_li a0,0xa
beq v0,a0,0x0001ddb4
_li a0,0x1
beq v0,a0,0x0001d604
_lw a1,-0x7fd4(gp)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x40b8
lw gp,0x18(sp)
b 0x0001d394
_sh zero,0xf8(s8)
addiu t9,t9,-0x7d30
bal 0x000182d0
_or a0,s8,zero
li a0,0x1
bne v0,a0,0x0001d46c
_lw gp,0x18(sp)
lw t9,-0x7dc8(gp)
addiu s4,s8,0x94
or a1,zero,zero
jalr t9
_or a0,s4,zero
beq v0,zero,0x0001d824
_lw gp,0x18(sp)
lw a1,-0x7fd4(gp)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x4014
li v0,-0x1
beq s2,v0,0x0001d46c
_lw gp,0x18(sp)
lw t9,-0x7ed8(gp)
jalr t9
_or a0,s2,zero
beq v0,zero,0x0001d46c
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
li a0,0x9
lw v0,0x0(v0)
li a2,0x1904
bne v0,a0,0x0001d46c
_lw gp,0x18(sp)
b 0x0001db00
_lw v0,-0x7fc8(gp)
bne v0,zero,0x0001d3c4
_andi v0,a0,0x200
li a1,0xa
lw t9,-0x7f74(gp)
li v0,0x2
andi a0,a0,0x10
movn v0,a1,a0
bal 0x000200f4
_or a0,v0,zero
lw gp,0x18(sp)
beq v0,s5,0x0001dd74
_or s2,v0,zero
lw v0,0xcc(s8)
beq v0,zero,0x0001db8c
_lw t9,-0x7d7c(gp)
bgtz v0,0x0001dce8
_li v0,0x4
lw v0,0xf4(s8)
andi a0,v0,0x10
beq a0,zero,0x0001dca4
_lw a1,0x3c(sp)
li a0,0x1c
beq a1,zero,0x0001e0fc
_sw a0,0x40(sp)
sw s2,0xc8(s8)
andi v0,v0,0x810
lw t9,-0x7d7c(gp)
li a0,0x4
xori v0,v0,0x810
sltu v0,zero,v0
sw a0,0x10(sp)
addiu a3,sp,0x44
sw v0,0x44(sp)
li a2,0x1a
li a1,0x29
jalr t9
_or a0,s2,zero
bltz v0,0x0001dbf0
_lw gp,0x18(sp)
lw a1,0x3c(sp)
lw a2,0x40(sp)
lw t9,-0x7e58(gp)
jalr t9
_or a0,s2,zero
li a0,-0x1
beq v0,a0,0x0001dddc
_lw gp,0x18(sp)
lw v0,0xf4(s8)
andi v0,v0,0x4000
beq v0,zero,0x0001d7a4
_lw t9,-0x7e94(gp)
lw v0,0x128(s8)
bne v0,zero,0x0001d77c
_lw t9,-0x7d7c(gp)
li v0,0xa
sw v0,0x128(s8)
li v0,0x4
addiu a3,s8,0x128
li a2,0x17
sw v0,0x10(sp)
li a1,0x6
jalr t9
_or a0,s2,zero
bne v0,zero,0x0001e130
_lw gp,0x18(sp)
lw t9,-0x7e94(gp)
or a0,s2,zero
jalr t9
_lw a1,0x12c(s8)
bgez v0,0x0001d388
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s1,v0,zero
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x4154
lw gp,0x18(sp)
lw t9,-0x7ed8(gp)
jalr t9
_or a0,s2,zero
beq v0,zero,0x0001d46c
_lw gp,0x18(sp)
lw a0,0x0(s1)
li v0,0x9
bne a0,v0,0x0001d46c
_li a2,0x186b
b 0x0001db00
_lw v0,-0x7fc8(gp)
lw t9,-0x7dc8(gp)
addiu s5,s8,0xac
or a1,zero,zero
jalr t9
_or a0,s5,zero
bne v0,zero,0x0001dc30
_lw gp,0x18(sp)
lw v0,0xf4(s8)
li a0,0x8
andi a1,v0,0x108
bne a1,a0,0x0001d504
_nop
lw s6,0x88(s8)
bne s6,zero,0x0001de58
_andi v0,v0,0x4
beq v0,zero,0x0001de4c
_addiu a0,s8,0x8c
lw a1,-0x7fd4(gp)
addiu a1,a1,-0x43f8
lw a3,-0x7fac(gp)
lw t9,-0x7f98(gp)
lw a2,0x84(s8)
addiu a3,a3,-0x3aa8
bal 0x000215fc
_sw s8,0x10(sp)
bne v0,zero,0x0001d504
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s1,v0,zero
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x3fdc
lw gp,0x18(sp)
lw t9,-0x7d9c(gp)
jalr t9
_or a0,s5,zero
li a2,0x193b
bne v0,zero,0x0001e284
_lw gp,0x18(sp)
lw t9,-0x7d9c(gp)
jalr t9
_or a0,s4,zero
li a2,0x193c
bne v0,zero,0x0001e284
_lw gp,0x18(sp)
li v0,-0x1
beq s2,v0,0x0001d46c
_lw t9,-0x7ed8(gp)
jalr t9
_or a0,s2,zero
beq v0,zero,0x0001d46c
_lw gp,0x18(sp)
lw a0,0x0(s1)
li v0,0x9
bne a0,v0,0x0001d46c
_li a2,0x193e
b 0x0001db00
_lw v0,-0x7fc8(gp)
lw t9,-0x7eb8(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x80
li a0,-0x1
lw gp,0x18(sp)
beq v0,a0,0x0001e1f0
_sw v0,0xd8(s8)
lw a0,0xf4(s8)
andi a0,a0,0x240
bne a0,zero,0x0001d2fc
_slti v0,v0,0x400
bne v0,zero,0x0001d2fc
_lw a1,-0x7fd4(gp)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x42d4
lw gp,0x18(sp)
lw t9,-0x7ed8(gp)
jalr t9
_lw a0,0xd8(s8)
beq v0,zero,0x0001d4f0
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
li a0,0x9
lw v0,0x0(v0)
li a2,0x172d
bne v0,a0,0x0001d4f0
_lw gp,0x18(sp)
lw v0,-0x7fc8(gp)
lw a3,-0x7fd4(gp)
lw a1,-0x7fd4(gp)
lw a0,0x0(v0)
addiu a3,a3,-0x442c
lw v0,-0x7fc4(gp)
lw t9,0x0(v0)
jalr t9
_addiu a1,a1,-0x51b0
lw a1,-0x7fd4(gp)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x4284
lw gp,0x18(sp)
lw t9,-0x7db0(gp)
or a0,s8,zero
jalr t9
_or s8,zero,zero
b 0x0001d504
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s4,v0,zero
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x409c
lw v0,0xf4(s8)
andi a0,v0,0x200
bne a0,zero,0x0001db60
_lw gp,0x18(sp)
lw a0,0x88(s8)
bne a0,zero,0x0001db64
_lw t9,-0x7ed8(gp)
slti a0,s2,0x400
bne a0,zero,0x0001da74
_andi v0,v0,0x240
beq v0,zero,0x0001daac
_lw a1,-0x7fd4(gp)
lw t9,-0x7dc8(gp)
addiu s4,s8,0x94
or a1,zero,zero
jalr t9
_or a0,s4,zero
beq v0,zero,0x0001d824
_lw gp,0x18(sp)
lw a1,-0x7fd4(gp)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x4014
b 0x0001d660
_lw gp,0x18(sp)
li a3,0x400
lw t9,-0x7fd0(gp)
or a0,s8,zero
or a2,s2,zero
bal 0x0001e5b0
_addiu a1,a1,-0x4c5c
lw gp,0x18(sp)
lw t9,-0x7ed8(gp)
jalr t9
_or a0,s2,zero
beq v0,zero,0x0001d46c
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
li a0,0x9
lw v0,0x0(v0)
li a2,0x18e3
bne v0,a0,0x0001d46c
_lw gp,0x18(sp)
lw v0,-0x7fc8(gp)
lw a3,-0x7fd4(gp)
lw a1,-0x7fd4(gp)
lw a0,0x0(v0)
addiu a3,a3,-0x4cfc
lw v0,-0x7fc4(gp)
lw t9,0x0(v0)
jalr t9
_addiu a1,a1,-0x51b0
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x412c
b 0x0001d394
_lw gp,0x18(sp)
lw t9,-0x7ed8(gp)
jalr t9
_or a0,s2,zero
beq v0,zero,0x0001d46c
_lw gp,0x18(sp)
lw a0,0x0(s4)
li v0,0x9
bne a0,v0,0x0001d46c
_li a2,0x18d4
b 0x0001db00
_lw v0,-0x7fc8(gp)
li v0,0x4
addiu a3,sp,0x38
li a2,0x4
sw v0,0x10(sp)
ori a1,zero,0xffff
jalr t9
_or a0,s2,zero
bgez v0,0x0001d6e0
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x418c
b 0x0001d6e0
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x418c
b 0x0001d738
_lw gp,0x18(sp)
lw a1,-0x7fd4(gp)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x4014
lw gp,0x18(sp)
lw t9,-0x7d9c(gp)
jalr t9
_or a0,s5,zero
li a2,0x190e
bne v0,zero,0x0001e284
_lw gp,0x18(sp)
li v0,-0x1
beq s2,v0,0x0001d46c
_lw t9,-0x7ed8(gp)
jalr t9
_or a0,s2,zero
beq v0,zero,0x0001d46c
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
li a0,0x9
lw v0,0x0(v0)
li a2,0x1911
bne v0,a0,0x0001d46c
_lw gp,0x18(sp)
b 0x0001db00
_lw v0,-0x7fc8(gp)
li v0,0x10
beq a1,zero,0x0001e0cc
_sw v0,0x40(sp)
sw s2,0xc8(s8)
b 0x0001d740
_li a2,0x10
lw a1,-0x7fd4(gp)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x422c
lw gp,0x18(sp)
lw t9,-0x7db0(gp)
jalr t9
_lw a0,0x104(s8)
b 0x0001d9f0
_lw gp,0x18(sp)
addiu s5,sp,0x38
li a2,0x4
sw v0,0x10(sp)
ori a1,zero,0xffff
or a3,s5,zero
jalr t9
_or a0,s2,zero
bltz v0,0x0001e1b0
_lw gp,0x18(sp)
lw t9,-0x7d7c(gp)
li v0,0x4
li a2,0x200
ori a1,zero,0xffff
sw v0,0x10(sp)
or a3,s5,zero
jalr t9
_or a0,s2,zero
bgez v0,0x0001d6e0
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x418c
b 0x0001d46c
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x41b8
b 0x0001d46c
_lw gp,0x18(sp)
lhu v0,0x76(sp)
b 0x0001d394
_sh v0,0xf8(s8)
lw a1,-0x7fd4(gp)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x4104
b 0x0001d394
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s1,v0,zero
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a3,v0,zero
or a2,s4,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x4174
lw gp,0x18(sp)
lw t9,-0x7ed8(gp)
jalr t9
_or a0,s2,zero
beq v0,zero,0x0001d46c
_lw gp,0x18(sp)
lw a0,0x0(s1)
li v0,0x9
bne a0,v0,0x0001d46c
_li a2,0x184d
b 0x0001db00
_lw v0,-0x7fc8(gp)
lw a1,-0x7fd4(gp)
b 0x0001d870
_addiu a1,a1,-0x43ec
li a0,0x130
lw t9,-0x7e20(gp)
lw s5,0xe8(s8)
jalr t9
_mul a0,s6,a0
lw gp,0x18(sp)
beq v0,zero,0x0001e05c
_sw v0,0x74(s8)
teq s6,zero
divu s5,s6
lw a0,-0x7fac(gp)
or s5,zero,zero
mfhi v1
sw v1,0x24(sp)
mflo v1
sw v1,0x28(sp)
addiu v1,s8,0x130
sw v1,0x20(sp)
lw v1,-0x7fd4(gp)
sw v1,0x30(sp)
addiu v1,a0,-0x7d30
lw a0,-0x7fac(gp)
sw v1,0x34(sp)
addiu v1,a0,-0x3aa8
sw v1,0x2c(sp)
addu s6,v0,s5
or a0,s8,zero
or v0,s6,zero
lw t1,0x0(a0)
addiu a0,a0,0x10
lw t0,-0xc(a0)
lw a2,-0x8(a0)
lw a1,-0x4(a0)
swl t1,0x0(v0)
swr t1,0x3(v0)
swl t0,0x4(v0)
swr t0,0x7(v0)
swl a2,0x8(v0)
swr a2,0xb(v0)
swl a1,0xc(v0)
swr a1,0xf(v0)
lw v1,0x20(sp)
bne a0,v1,0x0001dec8
_addiu v0,v0,0x10
sw s8,0x70(s6)
sw zero,0x88(s6)
sw zero,0x74(s6)
lw v0,0xf4(s8)
andi v0,v0,0x400
bne v0,zero,0x0001dfd0
_li v0,-0x1
sw v0,0xd8(s6)
lw v0,0x24(sp)
sltu v0,s1,v0
bne v0,zero,0x0001dfc4
_lw v0,0x28(sp)
sw v0,0xe8(s6)
lw v0,0xf4(s8)
andi v0,v0,0x200
beq v0,zero,0x0001df68
_lw t9,-0x7dc8(gp)
lw t9,0x34(sp)
jalr t9
_or a0,s6,zero
li a0,0x1
bne v0,a0,0x0001e054
_lw gp,0x18(sp)
lw t9,-0x7dc8(gp)
addiu s7,s6,0xac
or a1,zero,zero
jalr t9
_or a0,s7,zero
bne v0,zero,0x0001e2a8
_lw gp,0x18(sp)
lw v0,0x30(sp)
addiu a0,s6,0x8c
lw t9,-0x7f98(gp)
lw a2,0x84(s8)
lw a3,0x2c(sp)
addiu a1,v0,-0x3eec
bal 0x000215fc
_sw s6,0x10(sp)
beq v0,zero,0x0001e230
_lw gp,0x18(sp)
lw v0,0x88(s8)
addiu s1,s1,0x1
sltu v0,s1,v0
beq v0,zero,0x0001d504
_addiu s5,s5,0x130
b 0x0001debc
_lw v0,0x74(s8)
addiu v0,v0,0x1
b 0x0001df3c
_sw v0,0xe8(s6)
lui a1,0x8
lw t9,-0x7eb8(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x80
li a0,-0x1
lw gp,0x18(sp)
beq v0,a0,0x0001e2c4
_sw v0,0xd8(s6)
lw a0,0xf4(s8)
andi a0,a0,0x240
bne a0,zero,0x0001df28
_slti v0,v0,0x400
bne v0,zero,0x0001df2c
_lw v0,0x24(sp)
lw a1,-0x7fd4(gp)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x3f78
lw gp,0x18(sp)
lw t9,-0x7ed8(gp)
jalr t9
_lw a0,0xd8(s6)
beq v0,zero,0x0001e054
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
li a0,0x9
lw v0,0x0(v0)
beq v0,a0,0x0001e318
_lw gp,0x18(sp)
bne s1,zero,0x0001d558
_lw t9,-0x7e98(gp)
li v0,-0x1
beq s2,v0,0x0001e098
_lw t9,-0x7ed8(gp)
jalr t9
_or a0,s2,zero
beq v0,zero,0x0001e098
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
li a0,0x9
lw v0,0x0(v0)
li a2,0x19b9
beq v0,a0,0x0001dafc
_lw gp,0x18(sp)
lw t9,-0x7d9c(gp)
jalr t9
_or a0,s4,zero
li a2,0x19ba
bne v0,zero,0x0001e284
_lw gp,0x18(sp)
lw a0,0x74(s8)
beq a0,zero,0x0001d46c
_lw t9,-0x7db0(gp)
jalr t9
_nop
b 0x0001d46c
_lw gp,0x18(sp)
li v0,0x2
sw zero,0x4c(sp)
sw zero,0x50(sp)
li a2,0x10
sh v0,0x48(sp)
addiu v0,sp,0x48
sw zero,0x54(sp)
sh s4,0x4a(sp)
or a1,v0,zero
sw v0,0x3c(sp)
b 0x0001d740
_sw s2,0xc8(s8)
li a0,0xa
sw zero,0x5c(sp)
sw zero,0x70(sp)
sh a0,0x58(sp)
addiu a0,sp,0x58
sh s4,0x5a(sp)
sw zero,0x60(sp)
sw zero,0x64(sp)
sw zero,0x68(sp)
sw zero,0x6c(sp)
sw a0,0x3c(sp)
b 0x0001d700
_sw s2,0xc8(s8)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x418c
b 0x0001d7a0
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x425c
b 0x0001d9f0
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x418c
b 0x0001dd0c
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x4310
b 0x0001d9f0
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x3ee0
lw gp,0x18(sp)
lw t9,-0x7d9c(gp)
jalr t9
_or a0,s7,zero
li a2,0x19a1
beq v0,zero,0x0001e054
_lw gp,0x18(sp)
lw v0,-0x7fc8(gp)
lw a3,-0x7fd4(gp)
lw a1,-0x7fd4(gp)
lw a0,0x0(v0)
addiu a3,a3,-0x4414
lw v0,-0x7fc4(gp)
lw t9,0x0(v0)
jalr t9
_addiu a1,a1,-0x51b0
lw a1,-0x7fd4(gp)
or a0,s8,zero
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x3f20
b 0x0001e054
_lw gp,0x18(sp)
lw t9,-0x7e68(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7e24(gp)
jalr t9
_lw a0,0x0(v0)
or a0,s8,zero
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fd4(gp)
lw t9,-0x7fd0(gp)
bal 0x0001e5b0
_addiu a1,a1,-0x3fb8
b 0x0001e054
_lw gp,0x18(sp)
lw t9,-0x7de4(gp)
jalr t9
_nop
b 0x0001e284
_li a2,0x19e2
b 0x0001d9b4
_li a2,0x1977
(translation_unit "int * MHD_start_daemon_va(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  code *pcVar7;\n  undefined *puVar8;\n  int *piVar9;\n  int *piVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  int iVar13;\n  int iVar14;\n  int *piVar15;\n  uint unaff_s2;\n  int *unaff_s4;\n  undefined2 uVar16;\n  uint uVar17;\n  int iVar18;\n  int *piVar19;\n  uint uVar20;\n  undefined4 local_e8;\n  undefined2 *local_e4;\n  uint local_e0;\n  uint local_dc;\n  undefined2 local_d8;\n  undefined2 local_d6;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined2 local_c8;\n  undefined2 local_c6;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  short local_ac;\n  undefined2 local_aa;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0003d244;\n  piVar15 = (int *)(param_1 & 2);\n  local_2c = *(int *)PTR___stack_chk_guard_0003d244;\n  local_e8 = 1;\n  local_e4 = (undefined2 *)0x0;\n  if (piVar15 != (int *)0x0) goto LAB_0001d568;\n  unaff_s2 = param_1;\n  if ((param_1 & 0x8000) != 0) {\n    unaff_s2 = param_1 | 0x2400;\n  }\n  unaff_s4 = param_2;\n  if (param_5 == 0) goto LAB_0001d568;\n  if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;\n  if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;\n  if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;\n  if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }\n  piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);\n  if (piVar2 == (int *)0x0) goto LAB_0001d568;\n  piVar2[0x33] = 0;\n  piVar2[0x34] = -1;\n  piVar2[0x32] = -1;\n  piVar2[0x36] = -1;\n  piVar2[0x3a] = 0x3fc;\n  piVar2[0x4b] = 0x80;\n  puVar11 = PTR_LAB_0003d054;\n  piVar2[0x1f] = 0x8000;\n  piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;\n  piVar2[0x20] = 0x400;\n  puVar8 = PTR_LAB_0003d054;\n  piVar2[0x1a] = (int)(puVar11 + -0x7d68);\n  puVar11 = PTR_stderr_0003d258;\n  piVar2[0x3d] = unaff_s2;\n  uVar16 = SUB42(param_2,0);\n  *(undefined2 *)(piVar2 + 0x3e) = uVar16;\n  piVar2[0x10] = param_3;\n  piVar2[0x11] = param_4;\n  *piVar2 = param_5;\n  piVar2[1] = param_6;\n  piVar2[0x39] = 0;\n  piVar2[0x18] = (int)(puVar8 + -0x7d48);\n  piVar2[0x3b] = 0;\n  piVar2[0x1b] = *(int *)puVar11;\n  if ((unaff_s2 & 0xc) == 4) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }\n  piVar2[0x48] = 0;\n  piVar2[0x40] = 0;\n  piVar2[0x49] = 4;\n  iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);\n  if (iVar3 != 1) goto LAB_0001d4f0;\n  uVar4 = piVar2[0x3d];\n  if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }\n  uVar4 = piVar2[0x49];\n  if (uVar4 != 0) {\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }\n  param_7 = piVar2 + 0x42;\n  iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);\n  if (iVar3 != 0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }\n  uVar4 = piVar2[0x3d];\n  if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }\n  unaff_s2 = piVar2[0x32];\n  if (unaff_s2 == 0xffffffff) {\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }\nLAB_0001d388:\n  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;\n  if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;\n  uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);\n  local_e0 = 0x80;\n  iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);\n  if (iVar3 != 0) goto LAB_0001db20;\n  if (0x80 < local_e0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }\n  if ((local_ac != 2) && (local_ac != 10)) {\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }\n  *(undefined2 *)(piVar2 + 0x3e) = local_aa;\n  goto LAB_0001d394;\nLAB_0001da08:\n  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();\n  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);\n  if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }\n  if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }\nLAB_0001daac:\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);\n  iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n  if (iVar3 != 0) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }\nLAB_0001d46c:\n  if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }\n  (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n  iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);\n  if (iVar3 != 0) goto LAB_0001e310;\n  if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }\nLAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(piVar2);\n  piVar2 = (int *)0x0;\nLAB_0001d504:\n  do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );\n}\n\n" (function_definition "int * MHD_start_daemon_va(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  code *pcVar7;\n  undefined *puVar8;\n  int *piVar9;\n  int *piVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  int iVar13;\n  int iVar14;\n  int *piVar15;\n  uint unaff_s2;\n  int *unaff_s4;\n  undefined2 uVar16;\n  uint uVar17;\n  int iVar18;\n  int *piVar19;\n  uint uVar20;\n  undefined4 local_e8;\n  undefined2 *local_e4;\n  uint local_e0;\n  uint local_dc;\n  undefined2 local_d8;\n  undefined2 local_d6;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined2 local_c8;\n  undefined2 local_c6;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  short local_ac;\n  undefined2 local_aa;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0003d244;\n  piVar15 = (int *)(param_1 & 2);\n  local_2c = *(int *)PTR___stack_chk_guard_0003d244;\n  local_e8 = 1;\n  local_e4 = (undefined2 *)0x0;\n  if (piVar15 != (int *)0x0) goto LAB_0001d568;\n  unaff_s2 = param_1;\n  if ((param_1 & 0x8000) != 0) {\n    unaff_s2 = param_1 | 0x2400;\n  }\n  unaff_s4 = param_2;\n  if (param_5 == 0) goto LAB_0001d568;\n  if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;\n  if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;\n  if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;\n  if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }\n  piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);\n  if (piVar2 == (int *)0x0) goto LAB_0001d568;\n  piVar2[0x33] = 0;\n  piVar2[0x34] = -1;\n  piVar2[0x32] = -1;\n  piVar2[0x36] = -1;\n  piVar2[0x3a] = 0x3fc;\n  piVar2[0x4b] = 0x80;\n  puVar11 = PTR_LAB_0003d054;\n  piVar2[0x1f] = 0x8000;\n  piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;\n  piVar2[0x20] = 0x400;\n  puVar8 = PTR_LAB_0003d054;\n  piVar2[0x1a] = (int)(puVar11 + -0x7d68);\n  puVar11 = PTR_stderr_0003d258;\n  piVar2[0x3d] = unaff_s2;\n  uVar16 = SUB42(param_2,0);\n  *(undefined2 *)(piVar2 + 0x3e) = uVar16;\n  piVar2[0x10] = param_3;\n  piVar2[0x11] = param_4;\n  *piVar2 = param_5;\n  piVar2[1] = param_6;\n  piVar2[0x39] = 0;\n  piVar2[0x18] = (int)(puVar8 + -0x7d48);\n  piVar2[0x3b] = 0;\n  piVar2[0x1b] = *(int *)puVar11;\n  if ((unaff_s2 & 0xc) == 4) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }\n  piVar2[0x48] = 0;\n  piVar2[0x40] = 0;\n  piVar2[0x49] = 4;\n  iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);\n  if (iVar3 != 1) goto LAB_0001d4f0;\n  uVar4 = piVar2[0x3d];\n  if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }\n  uVar4 = piVar2[0x49];\n  if (uVar4 != 0) {\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }\n  param_7 = piVar2 + 0x42;\n  iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);\n  if (iVar3 != 0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }\n  uVar4 = piVar2[0x3d];\n  if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }\n  unaff_s2 = piVar2[0x32];\n  if (unaff_s2 == 0xffffffff) {\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }\nLAB_0001d388:\n  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;\n  if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;\n  uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);\n  local_e0 = 0x80;\n  iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);\n  if (iVar3 != 0) goto LAB_0001db20;\n  if (0x80 < local_e0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }\n  if ((local_ac != 2) && (local_ac != 10)) {\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }\n  *(undefined2 *)(piVar2 + 0x3e) = local_aa;\n  goto LAB_0001d394;\nLAB_0001da08:\n  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();\n  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);\n  if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }\n  if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }\nLAB_0001daac:\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);\n  iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n  if (iVar3 != 0) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }\nLAB_0001d46c:\n  if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }\n  (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n  iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);\n  if (iVar3 != 0) goto LAB_0001e310;\n  if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }\nLAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(piVar2);\n  piVar2 = (int *)0x0;\nLAB_0001d504:\n  do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );\n}" primitive_type (pointer_declarator "* MHD_start_daemon_va(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)" * (function_declarator "MHD_start_daemon_va(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)" identifier (parameter_list "(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) , (parameter_declaration "int *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) )))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  code *pcVar7;\n  undefined *puVar8;\n  int *piVar9;\n  int *piVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  int iVar13;\n  int iVar14;\n  int *piVar15;\n  uint unaff_s2;\n  int *unaff_s4;\n  undefined2 uVar16;\n  uint uVar17;\n  int iVar18;\n  int *piVar19;\n  uint uVar20;\n  undefined4 local_e8;\n  undefined2 *local_e4;\n  uint local_e0;\n  uint local_dc;\n  undefined2 local_d8;\n  undefined2 local_d6;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined2 local_c8;\n  undefined2 local_c6;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  short local_ac;\n  undefined2 local_aa;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0003d244;\n  piVar15 = (int *)(param_1 & 2);\n  local_2c = *(int *)PTR___stack_chk_guard_0003d244;\n  local_e8 = 1;\n  local_e4 = (undefined2 *)0x0;\n  if (piVar15 != (int *)0x0) goto LAB_0001d568;\n  unaff_s2 = param_1;\n  if ((param_1 & 0x8000) != 0) {\n    unaff_s2 = param_1 | 0x2400;\n  }\n  unaff_s4 = param_2;\n  if (param_5 == 0) goto LAB_0001d568;\n  if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;\n  if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;\n  if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;\n  if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }\n  piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);\n  if (piVar2 == (int *)0x0) goto LAB_0001d568;\n  piVar2[0x33] = 0;\n  piVar2[0x34] = -1;\n  piVar2[0x32] = -1;\n  piVar2[0x36] = -1;\n  piVar2[0x3a] = 0x3fc;\n  piVar2[0x4b] = 0x80;\n  puVar11 = PTR_LAB_0003d054;\n  piVar2[0x1f] = 0x8000;\n  piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;\n  piVar2[0x20] = 0x400;\n  puVar8 = PTR_LAB_0003d054;\n  piVar2[0x1a] = (int)(puVar11 + -0x7d68);\n  puVar11 = PTR_stderr_0003d258;\n  piVar2[0x3d] = unaff_s2;\n  uVar16 = SUB42(param_2,0);\n  *(undefined2 *)(piVar2 + 0x3e) = uVar16;\n  piVar2[0x10] = param_3;\n  piVar2[0x11] = param_4;\n  *piVar2 = param_5;\n  piVar2[1] = param_6;\n  piVar2[0x39] = 0;\n  piVar2[0x18] = (int)(puVar8 + -0x7d48);\n  piVar2[0x3b] = 0;\n  piVar2[0x1b] = *(int *)puVar11;\n  if ((unaff_s2 & 0xc) == 4) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }\n  piVar2[0x48] = 0;\n  piVar2[0x40] = 0;\n  piVar2[0x49] = 4;\n  iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);\n  if (iVar3 != 1) goto LAB_0001d4f0;\n  uVar4 = piVar2[0x3d];\n  if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }\n  uVar4 = piVar2[0x49];\n  if (uVar4 != 0) {\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }\n  param_7 = piVar2 + 0x42;\n  iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);\n  if (iVar3 != 0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }\n  uVar4 = piVar2[0x3d];\n  if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }\n  unaff_s2 = piVar2[0x32];\n  if (unaff_s2 == 0xffffffff) {\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }\nLAB_0001d388:\n  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;\n  if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;\n  uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);\n  local_e0 = 0x80;\n  iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);\n  if (iVar3 != 0) goto LAB_0001db20;\n  if (0x80 < local_e0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }\n  if ((local_ac != 2) && (local_ac != 10)) {\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }\n  *(undefined2 *)(piVar2 + 0x3e) = local_aa;\n  goto LAB_0001d394;\nLAB_0001da08:\n  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();\n  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);\n  if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }\n  if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }\nLAB_0001daac:\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);\n  iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n  if (iVar3 != 0) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }\nLAB_0001d46c:\n  if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }\n  (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n  iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);\n  if (iVar3 != 0) goto LAB_0001e310;\n  if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }\nLAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(piVar2);\n  piVar2 = (int *)0x0;\nLAB_0001d504:\n  do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "uint unaff_s2;" type_identifier identifier ;) (declaration "int *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "undefined2 uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined4 local_e8;" type_identifier identifier ;) (declaration "undefined2 *local_e4;" type_identifier (pointer_declarator "*local_e4" * identifier) ;) (declaration "uint local_e0;" type_identifier identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "undefined2 local_d8;" type_identifier identifier ;) (declaration "undefined2 local_d6;" type_identifier identifier ;) (declaration "undefined4 local_d4;" type_identifier identifier ;) (declaration "undefined4 local_d0;" type_identifier identifier ;) (declaration "undefined4 local_cc;" type_identifier identifier ;) (declaration "undefined2 local_c8;" type_identifier identifier ;) (declaration "undefined2 local_c6;" type_identifier identifier ;) (declaration "undefined4 local_c4;" type_identifier identifier ;) (declaration "undefined4 local_c0;" type_identifier identifier ;) (declaration "undefined4 local_bc;" type_identifier identifier ;) (declaration "undefined4 local_b8;" type_identifier identifier ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "undefined4 local_b0;" type_identifier identifier ;) (declaration "short local_ac;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined2 local_aa;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_0003d244;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0003d244" identifier = identifier) ;) (expression_statement "piVar15 = (int *)(param_1 & 2);" (assignment_expression "piVar15 = (int *)(param_1 & 2)" identifier = (cast_expression "(int *)(param_1 & 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 & 2)" ( (binary_expression "param_1 & 2" identifier & number_literal) )))) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0003d244;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0003d244" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0003d244" * (cast_expression "(int *)PTR___stack_chk_guard_0003d244" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_e8 = 1;" (assignment_expression "local_e8 = 1" identifier = number_literal) ;) (expression_statement "local_e4 = (undefined2 *)0x0;" (assignment_expression "local_e4 = (undefined2 *)0x0" identifier = (cast_expression "(undefined2 *)0x0" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar15 != (int *)0x0) goto LAB_0001d568;" if (parenthesized_expression "(piVar15 != (int *)0x0)" ( (binary_expression "piVar15 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (expression_statement "unaff_s2 = param_1;" (assignment_expression "unaff_s2 = param_1" identifier = identifier) ;) (if_statement "if ((param_1 & 0x8000) != 0) {\n    unaff_s2 = param_1 | 0x2400;\n  }" if (parenthesized_expression "((param_1 & 0x8000) != 0)" ( (binary_expression "(param_1 & 0x8000) != 0" (parenthesized_expression "(param_1 & 0x8000)" ( (binary_expression "param_1 & 0x8000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    unaff_s2 = param_1 | 0x2400;\n  }" { (expression_statement "unaff_s2 = param_1 | 0x2400;" (assignment_expression "unaff_s2 = param_1 | 0x2400" identifier = (binary_expression "param_1 | 0x2400" identifier | number_literal)) ;) })) (expression_statement "unaff_s4 = param_2;" (assignment_expression "unaff_s4 = param_2" identifier = identifier) ;) (if_statement "if (param_5 == 0) goto LAB_0001d568;" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;" if (parenthesized_expression "((unaff_s2 & 0x240) == 0x240)" ( (binary_expression "(unaff_s2 & 0x240) == 0x240" (parenthesized_expression "(unaff_s2 & 0x240)" ( (binary_expression "unaff_s2 & 0x240" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;" if (parenthesized_expression "((unaff_s2 & 0x204) == 0x204)" ( (binary_expression "(unaff_s2 & 0x204) == 0x204" (parenthesized_expression "(unaff_s2 & 0x204)" ( (binary_expression "unaff_s2 & 0x204" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;" if (parenthesized_expression "((unaff_s2 & 0x4c) == 0x40)" ( (binary_expression "(unaff_s2 & 0x4c) == 0x40" (parenthesized_expression "(unaff_s2 & 0x4c)" ( (binary_expression "unaff_s2 & 0x4c" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }" if (parenthesized_expression "((int)(unaff_s2 << 0xf) < 0)" ( (binary_expression "(int)(unaff_s2 << 0xf) < 0" (cast_expression "(int)(unaff_s2 << 0xf)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 << 0xf)" ( (binary_expression "unaff_s2 << 0xf" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }" { (if_statement "if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;" if (parenthesized_expression "((unaff_s2 & 0x240) != 0)" ( (binary_expression "(unaff_s2 & 0x240) != 0" (parenthesized_expression "(unaff_s2 & 0x240)" ( (binary_expression "unaff_s2 & 0x240" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }" if (parenthesized_expression "((unaff_s2 & 4) == 0)" ( (binary_expression "(unaff_s2 & 4) == 0" (parenthesized_expression "(unaff_s2 & 4)" ( (binary_expression "unaff_s2 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      unaff_s2 = unaff_s2 | 0x200;\n    }" { (expression_statement "unaff_s2 = unaff_s2 | 0x200;" (assignment_expression "unaff_s2 = unaff_s2 | 0x200" identifier = (binary_expression "unaff_s2 | 0x200" identifier | number_literal)) ;) }) (else_clause "else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }" else (compound_statement "{\n      unaff_s2 = unaff_s2 | 0x40;\n    }" { (expression_statement "unaff_s2 = unaff_s2 | 0x40;" (assignment_expression "unaff_s2 = unaff_s2 | 0x40" identifier = (binary_expression "unaff_s2 | 0x40" identifier | number_literal)) ;) }))) })) (expression_statement "piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130)" identifier = (cast_expression "(int *)(*(code *)PTR_calloc_0003d120)(1,0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_calloc_0003d120)(1,0x130)" (parenthesized_expression "(*(code *)PTR_calloc_0003d120)" ( (pointer_expression "*(code *)PTR_calloc_0003d120" * (cast_expression "(code *)PTR_calloc_0003d120" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,0x130)" ( number_literal , number_literal ))))) ;) (if_statement "if (piVar2 == (int *)0x0) goto LAB_0001d568;" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (expression_statement "piVar2[0x33] = 0;" (assignment_expression "piVar2[0x33] = 0" (subscript_expression "piVar2[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x34] = -1;" (assignment_expression "piVar2[0x34] = -1" (subscript_expression "piVar2[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x32] = -1;" (assignment_expression "piVar2[0x32] = -1" (subscript_expression "piVar2[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x36] = -1;" (assignment_expression "piVar2[0x36] = -1" (subscript_expression "piVar2[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x3a] = 0x3fc;" (assignment_expression "piVar2[0x3a] = 0x3fc" (subscript_expression "piVar2[0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x4b] = 0x80;" (assignment_expression "piVar2[0x4b] = 0x80" (subscript_expression "piVar2[0x4b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11 = PTR_LAB_0003d054;" (assignment_expression "puVar11 = PTR_LAB_0003d054" identifier = identifier) ;) (expression_statement "piVar2[0x1f] = 0x8000;" (assignment_expression "piVar2[0x1f] = 0x8000" (subscript_expression "piVar2[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;" (assignment_expression "piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f" (subscript_expression "piVar2[0x3f]" identifier [ number_literal ]) = (binary_expression "(unaff_s2 << 0x1a) >> 0x1f" (parenthesized_expression "(unaff_s2 << 0x1a)" ( (binary_expression "unaff_s2 << 0x1a" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "piVar2[0x20] = 0x400;" (assignment_expression "piVar2[0x20] = 0x400" (subscript_expression "piVar2[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8 = PTR_LAB_0003d054;" (assignment_expression "puVar8 = PTR_LAB_0003d054" identifier = identifier) ;) (expression_statement "piVar2[0x1a] = (int)(puVar11 + -0x7d68);" (assignment_expression "piVar2[0x1a] = (int)(puVar11 + -0x7d68)" (subscript_expression "piVar2[0x1a]" identifier [ number_literal ]) = (cast_expression "(int)(puVar11 + -0x7d68)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar11 + -0x7d68)" ( (binary_expression "puVar11 + -0x7d68" identifier + number_literal) )))) ;) (expression_statement "puVar11 = PTR_stderr_0003d258;" (assignment_expression "puVar11 = PTR_stderr_0003d258" identifier = identifier) ;) (expression_statement "piVar2[0x3d] = unaff_s2;" (assignment_expression "piVar2[0x3d] = unaff_s2" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar16 = SUB42(param_2,0);" (assignment_expression "uVar16 = SUB42(param_2,0)" identifier = (call_expression "SUB42(param_2,0)" identifier (argument_list "(param_2,0)" ( identifier , number_literal )))) ;) (expression_statement "*(undefined2 *)(piVar2 + 0x3e) = uVar16;" (assignment_expression "*(undefined2 *)(piVar2 + 0x3e) = uVar16" (pointer_expression "*(undefined2 *)(piVar2 + 0x3e)" * (cast_expression "(undefined2 *)(piVar2 + 0x3e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x3e)" ( (binary_expression "piVar2 + 0x3e" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar2[0x10] = param_3;" (assignment_expression "piVar2[0x10] = param_3" (subscript_expression "piVar2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x11] = param_4;" (assignment_expression "piVar2[0x11] = param_4" (subscript_expression "piVar2[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar2 = param_5;" (assignment_expression "*piVar2 = param_5" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[1] = param_6;" (assignment_expression "piVar2[1] = param_6" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x39] = 0;" (assignment_expression "piVar2[0x39] = 0" (subscript_expression "piVar2[0x39]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x18] = (int)(puVar8 + -0x7d48);" (assignment_expression "piVar2[0x18] = (int)(puVar8 + -0x7d48)" (subscript_expression "piVar2[0x18]" identifier [ number_literal ]) = (cast_expression "(int)(puVar8 + -0x7d48)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar8 + -0x7d48)" ( (binary_expression "puVar8 + -0x7d48" identifier + number_literal) )))) ;) (expression_statement "piVar2[0x3b] = 0;" (assignment_expression "piVar2[0x3b] = 0" (subscript_expression "piVar2[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1b] = *(int *)puVar11;" (assignment_expression "piVar2[0x1b] = *(int *)puVar11" (subscript_expression "piVar2[0x1b]" identifier [ number_literal ]) = (pointer_expression "*(int *)puVar11" * (cast_expression "(int *)puVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((unaff_s2 & 0xc) == 4) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }" if (parenthesized_expression "((unaff_s2 & 0xc) == 4)" ( (binary_expression "(unaff_s2 & 0xc) == 4" (parenthesized_expression "(unaff_s2 & 0xc)" ( (binary_expression "unaff_s2 & 0xc" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x43e0)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x43e0" identifier + number_literal) ))) ;) (expression_statement "unaff_s2 = piVar2[0x3d] | 8;" (assignment_expression "unaff_s2 = piVar2[0x3d] | 8" identifier = (binary_expression "piVar2[0x3d] | 8" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "piVar2[0x3d] = unaff_s2;" (assignment_expression "piVar2[0x3d] = unaff_s2" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }" statement_identifier : (if_statement "if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }" if (parenthesized_expression "((unaff_s2 & 0x100) != 0)" ( (binary_expression "(unaff_s2 & 0x100) != 0" (parenthesized_expression "(unaff_s2 & 0x100)" ( (binary_expression "unaff_s2 & 0x100" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }" { (expression_statement "unaff_s2 = unaff_s2 | 0x400;" (assignment_expression "unaff_s2 = unaff_s2 | 0x400" identifier = (binary_expression "unaff_s2 | 0x400" identifier | number_literal)) ;) (expression_statement "piVar2[0x3d] = unaff_s2;" (assignment_expression "piVar2[0x3d] = unaff_s2" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }" else (compound_statement "{\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }" { (if_statement "if ((unaff_s2 & 8) != 0) goto LAB_0001d440;" if (parenthesized_expression "((unaff_s2 & 8) != 0)" ( (binary_expression "(unaff_s2 & 8) != 0" (parenthesized_expression "(unaff_s2 & 8)" ( (binary_expression "unaff_s2 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d440;" goto statement_identifier ;)) (expression_statement "unaff_s2 = unaff_s2 & 0xfffffbff;" (assignment_expression "unaff_s2 = unaff_s2 & 0xfffffbff" identifier = (binary_expression "unaff_s2 & 0xfffffbff" identifier & number_literal)) ;) (expression_statement "piVar2[0x3d] = unaff_s2;" (assignment_expression "piVar2[0x3d] = unaff_s2" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "piVar2[0x48] = 0;" (assignment_expression "piVar2[0x48] = 0" (subscript_expression "piVar2[0x48]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x40] = 0;" (assignment_expression "piVar2[0x40] = 0" (subscript_expression "piVar2[0x40]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x49] = 4;" (assignment_expression "piVar2[0x49] = 4" (subscript_expression "piVar2[0x49]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);" (assignment_expression "iVar3 = FUN_00017d48(piVar2,&local_e4,param_7)" identifier = (call_expression "FUN_00017d48(piVar2,&local_e4,param_7)" identifier (argument_list "(piVar2,&local_e4,param_7)" ( identifier , (pointer_expression "&local_e4" & identifier) , identifier )))) ;) (if_statement "if (iVar3 != 1) goto LAB_0001d4f0;" if (parenthesized_expression "(iVar3 != 1)" ( (binary_expression "iVar3 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0001d4f0;" goto statement_identifier ;)) (expression_statement "uVar4 = piVar2[0x3d];" (assignment_expression "uVar4 = piVar2[0x3d]" identifier = (subscript_expression "piVar2[0x3d]" identifier [ number_literal ])) ;) (if_statement "if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }" if (parenthesized_expression "((piVar2[0x12] == 0) || ((uVar4 & 4) == 0))" ( (binary_expression "(piVar2[0x12] == 0) || ((uVar4 & 4) == 0)" (parenthesized_expression "(piVar2[0x12] == 0)" ( (binary_expression "piVar2[0x12] == 0" (subscript_expression "piVar2[0x12]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((uVar4 & 4) == 0)" ( (binary_expression "(uVar4 & 4) == 0" (parenthesized_expression "(uVar4 & 4)" ( (binary_expression "uVar4 & 4" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }" { (if_statement "if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }" if (parenthesized_expression "((uVar4 & 0x400) != 0)" ( (binary_expression "(uVar4 & 0x400) != 0" (parenthesized_expression "(uVar4 & 0x400)" ( (binary_expression "uVar4 & 0x400" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }" { (expression_statement "iVar3 = piVar2[0x22];" (assignment_expression "iVar3 = piVar2[0x22]" identifier = (subscript_expression "piVar2[0x22]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0001d2f4;" goto statement_identifier ;) })) }) (else_clause "else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }" else (compound_statement "{\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }" { (expression_statement "piVar2[0x3d] = uVar4 | 0x400;" (assignment_expression "piVar2[0x3d] = uVar4 | 0x400" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) = (binary_expression "uVar4 | 0x400" identifier | number_literal)) ;) (expression_statement "iVar3 = piVar2[0x22];" (assignment_expression "iVar3 = piVar2[0x22]" identifier = (subscript_expression "piVar2[0x22]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }" statement_identifier : (if_statement "if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);" (assignment_expression "iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080)" identifier = (call_expression "(*(code *)PTR_eventfd_0003d148)(0,0x80080)" (parenthesized_expression "(*(code *)PTR_eventfd_0003d148)" ( (pointer_expression "*(code *)PTR_eventfd_0003d148" * (cast_expression "(code *)PTR_eventfd_0003d148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0x80080)" ( number_literal , number_literal )))) ;) (expression_statement "piVar2[0x36] = iVar3;" (assignment_expression "piVar2[0x36] = iVar3" (subscript_expression "piVar2[0x36]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4310" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001d9f0;" goto statement_identifier ;) })) (if_statement "if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }" if (parenthesized_expression "(((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3))" ( (binary_expression "((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)" (parenthesized_expression "((piVar2[0x3d] & 0x240U) == 0)" ( (binary_expression "(piVar2[0x3d] & 0x240U) == 0" (parenthesized_expression "(piVar2[0x3d] & 0x240U)" ( (binary_expression "piVar2[0x3d] & 0x240U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(0x3ff < iVar3)" ( (binary_expression "0x3ff < iVar3" number_literal < identifier) ))) )) (compound_statement "{\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x42d4)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x42d4" identifier + number_literal) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36])" identifier = (call_expression "(*(code *)PTR_close_0003d128)(piVar2[0x36])" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2[0x36])" ( (subscript_expression "piVar2[0x36]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0001d4f0;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d4f0;" goto statement_identifier ;)) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = 0x172d;" (assignment_expression "uVar12 = 0x172d" identifier = number_literal) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001d4f0;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001d4f0;" goto statement_identifier ;)) (goto_statement "goto LAB_0001d9b4;" goto statement_identifier ;) })) }))) }))) (expression_statement "uVar4 = piVar2[0x49];" (assignment_expression "uVar4 = piVar2[0x49]" identifier = (subscript_expression "piVar2[0x49]" identifier [ number_literal ])) ;) (if_statement "if (uVar4 != 0) {\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }" { (if_statement "if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;" if (parenthesized_expression "(uVar4 != (uVar4 * 0x98) / 0x98)" ( (binary_expression "uVar4 != (uVar4 * 0x98) / 0x98" identifier != (binary_expression "(uVar4 * 0x98) / 0x98" (parenthesized_expression "(uVar4 * 0x98)" ( (binary_expression "uVar4 * 0x98" identifier * number_literal) )) / number_literal)) )) (goto_statement "goto LAB_0001d9d8;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_malloc_0003d1e0)();" (assignment_expression "iVar3 = (*(code *)PTR_malloc_0003d1e0)()" identifier = (call_expression "(*(code *)PTR_malloc_0003d1e0)()" (parenthesized_expression "(*(code *)PTR_malloc_0003d1e0)" ( (pointer_expression "*(code *)PTR_malloc_0003d1e0" * (cast_expression "(code *)PTR_malloc_0003d1e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "piVar2[0x41] = iVar3;" (assignment_expression "piVar2[0x41] = iVar3" (subscript_expression "piVar2[0x41]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x425c" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001d9f0;" goto statement_identifier ;) })) })) (expression_statement "param_7 = piVar2 + 0x42;" (assignment_expression "param_7 = piVar2 + 0x42" identifier = (binary_expression "piVar2 + 0x42" identifier + number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_7,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x422c)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x422c" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_free_0003d250)(piVar2[0x41]);" (call_expression "(*(code *)PTR_free_0003d250)(piVar2[0x41])" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2[0x41])" ( (subscript_expression "piVar2[0x41]" identifier [ number_literal ]) ))) ;) (goto_statement "goto LAB_0001d9f0;" goto statement_identifier ;) })) (expression_statement "uVar4 = piVar2[0x3d];" (assignment_expression "uVar4 = piVar2[0x3d]" identifier = (subscript_expression "piVar2[0x3d]" identifier [ number_literal ])) ;) (if_statement "if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }" if (parenthesized_expression "(((uVar4 & 8) == 0) && (piVar2[0x22] != 0))" ( (binary_expression "((uVar4 & 8) == 0) && (piVar2[0x22] != 0)" (parenthesized_expression "((uVar4 & 8) == 0)" ( (binary_expression "(uVar4 & 8) == 0" (parenthesized_expression "(uVar4 & 8)" ( (binary_expression "uVar4 & 8" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar2[0x22] != 0)" ( (binary_expression "piVar2[0x22] != 0" (subscript_expression "piVar2[0x22]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4200)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4200" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) (expression_statement "unaff_s2 = piVar2[0x32];" (assignment_expression "unaff_s2 = piVar2[0x32]" identifier = (subscript_expression "piVar2[0x32]" identifier [ number_literal ])) ;) (if_statement "if (unaff_s2 == 0xffffffff) {\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }" if (parenthesized_expression "(unaff_s2 == 0xffffffff)" ( (binary_expression "unaff_s2 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }" { (if_statement "if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;" if (parenthesized_expression "((uVar4 & 0x100) != 0)" ( (binary_expression "(uVar4 & 0x100) != 0" (parenthesized_expression "(uVar4 & 0x100)" ( (binary_expression "uVar4 & 0x100" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d3c4;" goto statement_identifier ;)) (expression_statement "uVar12 = 2;" (assignment_expression "uVar12 = 2" identifier = number_literal) ;) (if_statement "if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }" if (parenthesized_expression "((uVar4 & 0x10) != 0)" ( (binary_expression "(uVar4 & 0x10) != 0" (parenthesized_expression "(uVar4 & 0x10)" ( (binary_expression "uVar4 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar12 = 10;\n    }" { (expression_statement "uVar12 = 10;" (assignment_expression "uVar12 = 10" identifier = number_literal) ;) })) (expression_statement "unaff_s2 = FUN_000200f4(uVar12);" (assignment_expression "unaff_s2 = FUN_000200f4(uVar12)" identifier = (call_expression "FUN_000200f4(uVar12)" identifier (argument_list "(uVar12)" ( identifier )))) ;) (if_statement "if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }" if (parenthesized_expression "(unaff_s2 == 0xffffffff)" ( (binary_expression "unaff_s2 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x41b8" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) (if_statement "if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }" if (parenthesized_expression "(piVar2[0x33] == 0)" ( (binary_expression "piVar2[0x33] == 0" (subscript_expression "piVar2[0x33]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);" (assignment_expression "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4)" identifier = (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" ( (pointer_expression "*(code *)PTR_setsockopt_0003d284" * (cast_expression "(code *)PTR_setsockopt_0003d284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,0xffff,4,&local_e8,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_e8" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) })) }) (else_clause "else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }" else (if_statement "if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }" if (parenthesized_expression "(0 < piVar2[0x33])" ( (binary_expression "0 < piVar2[0x33]" number_literal < (subscript_expression "piVar2[0x33]" identifier [ number_literal ])) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);" (assignment_expression "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4)" identifier = (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" ( (pointer_expression "*(code *)PTR_setsockopt_0003d284" * (cast_expression "(code *)PTR_setsockopt_0003d284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,0xffff,4,&local_e8,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_e8" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) })) (expression_statement "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);" (assignment_expression "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4)" identifier = (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" ( (pointer_expression "*(code *)PTR_setsockopt_0003d284" * (cast_expression "(code *)PTR_setsockopt_0003d284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,0xffff,0x200,&local_e8,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_e8" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) })))) (if_statement "if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }" if (parenthesized_expression "((piVar2[0x3d] & 0x10U) == 0)" ( (binary_expression "(piVar2[0x3d] & 0x10U) == 0" (parenthesized_expression "(piVar2[0x3d] & 0x10U)" ( (binary_expression "piVar2[0x3d] & 0x10U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }" { (expression_statement "local_e0 = 0x10;" (assignment_expression "local_e0 = 0x10" identifier = number_literal) ;) (if_statement "if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }" if (parenthesized_expression "(local_e4 == (undefined2 *)0x0)" ( (binary_expression "local_e4 == (undefined2 *)0x0" identifier == (cast_expression "(undefined2 *)0x0" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }" { (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (expression_statement "local_d8 = 2;" (assignment_expression "local_d8 = 2" identifier = number_literal) ;) (expression_statement "local_e4 = &local_d8;" (assignment_expression "local_e4 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) (expression_statement "piVar2[0x32] = unaff_s2;" (assignment_expression "piVar2[0x32] = unaff_s2" (subscript_expression "piVar2[0x32]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_d6 = uVar16;" (assignment_expression "local_d6 = uVar16" identifier = identifier) ;) }) (else_clause "else {\n        piVar2[0x32] = unaff_s2;\n      }" else (compound_statement "{\n        piVar2[0x32] = unaff_s2;\n      }" { (expression_statement "piVar2[0x32] = unaff_s2;" (assignment_expression "piVar2[0x32] = unaff_s2" (subscript_expression "piVar2[0x32]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }" else (compound_statement "{\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }" { (expression_statement "local_e0 = 0x1c;" (assignment_expression "local_e0 = 0x1c" identifier = number_literal) ;) (if_statement "if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }" if (parenthesized_expression "(local_e4 == (undefined2 *)0x0)" ( (binary_expression "local_e4 == (undefined2 *)0x0" identifier == (cast_expression "(undefined2 *)0x0" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }" { (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_c8 = 10;" (assignment_expression "local_c8 = 10" identifier = number_literal) ;) (expression_statement "local_e4 = &local_c8;" (assignment_expression "local_e4 = &local_c8" identifier = (pointer_expression "&local_c8" & identifier)) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" identifier = number_literal) ;) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (expression_statement "piVar2[0x32] = unaff_s2;" (assignment_expression "piVar2[0x32] = unaff_s2" (subscript_expression "piVar2[0x32]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_c6 = uVar16;" (assignment_expression "local_c6 = uVar16" identifier = identifier) ;) }) (else_clause "else {\n        piVar2[0x32] = unaff_s2;\n      }" else (compound_statement "{\n        piVar2[0x32] = unaff_s2;\n      }" { (expression_statement "piVar2[0x32] = unaff_s2;" (assignment_expression "piVar2[0x32] = unaff_s2" (subscript_expression "piVar2[0x32]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);" (assignment_expression "local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810)" identifier = (call_expression "(uint)((piVar2[0x3d] & 0x810U) != 0x810)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((piVar2[0x3d] & 0x810U) != 0x810)" ( (binary_expression "(piVar2[0x3d] & 0x810U) != 0x810" (parenthesized_expression "(piVar2[0x3d] & 0x810U)" ( (binary_expression "piVar2[0x3d] & 0x810U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);" (assignment_expression "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4)" identifier = (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" ( (pointer_expression "*(code *)PTR_setsockopt_0003d284" * (cast_expression "(code *)PTR_setsockopt_0003d284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,0x29,0x1a,&local_dc,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_dc" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) })) }))) (expression_statement "iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);" (assignment_expression "iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0)" identifier = (call_expression "(*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0)" (parenthesized_expression "(*(code *)PTR_bind_0003d1a8)" ( (pointer_expression "*(code *)PTR_bind_0003d1a8" * (cast_expression "(code *)PTR_bind_0003d1a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,local_e4,local_e0)" ( identifier , identifier , identifier )))) ;) (expression_statement "puVar11 = PTR_setsockopt_0003d284;" (assignment_expression "puVar11 = PTR_setsockopt_0003d284" identifier = identifier) ;) (if_statement "if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }" { (expression_statement "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*piVar15)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4174" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0001d46c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "iVar3 = *piVar15;" (assignment_expression "iVar3 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uVar12 = 0x184d;" (assignment_expression "uVar12 = 0x184d" identifier = number_literal) ;) }) (else_clause "else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }" else (compound_statement "{\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }" { (if_statement "if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }" if (parenthesized_expression "((piVar2[0x3d] & 0x4000U) != 0)" ( (binary_expression "(piVar2[0x3d] & 0x4000U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x4000U)" ( (binary_expression "piVar2[0x3d] & 0x4000U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }" { (if_statement "if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }" if (parenthesized_expression "(piVar2[0x4a] == 0)" ( (binary_expression "piVar2[0x4a] == 0" (subscript_expression "piVar2[0x4a]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          piVar2[0x4a] = 10;\n        }" { (expression_statement "piVar2[0x4a] = 10;" (assignment_expression "piVar2[0x4a] = 10" (subscript_expression "piVar2[0x4a]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);" (assignment_expression "iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4)" identifier = (call_expression "(*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4)" (parenthesized_expression "(*(code *)puVar11)" ( (pointer_expression "*(code *)puVar11" * (cast_expression "(code *)puVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,6,0x17,piVar2 + 0x4a,4)" ( identifier , number_literal , number_literal , (binary_expression "piVar2 + 0x4a" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) })) })) (expression_statement "iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);" (assignment_expression "iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b])" identifier = (call_expression "(*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b])" (parenthesized_expression "(*(code *)PTR_listen_0003d16c)" ( (pointer_expression "*(code *)PTR_listen_0003d16c" * (cast_expression "(code *)PTR_listen_0003d16c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,piVar2[0x4b])" ( identifier , (subscript_expression "piVar2[0x4b]" identifier [ number_literal ]) )))) ;) (if_statement "if (-1 < iVar3) goto LAB_0001d388;" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (goto_statement "goto LAB_0001d388;" goto statement_identifier ;)) (expression_statement "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*piVar15)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4154" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0001d46c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "iVar3 = *piVar15;" (assignment_expression "iVar3 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uVar12 = 0x186b;" (assignment_expression "uVar12 = 0x186b" identifier = number_literal) ;) }))) (labeled_statement "joined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );" statement_identifier : (do_statement "do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );" do (compound_statement "{\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    }" { (if_statement "if (iVar3 != 9) goto LAB_0001d46c;" if (parenthesized_expression "(iVar3 != 9)" ( (binary_expression "iVar3 != 9" identifier != number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (labeled_statement "LAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);" statement_identifier : (expression_statement "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);" (call_expression "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc)" (parenthesized_expression "(**(code **)PTR_DAT_0003d03c)" ( (pointer_expression "**(code **)PTR_DAT_0003d03c" * (pointer_expression "*(code **)PTR_DAT_0003d03c" * (cast_expression "(code **)PTR_DAT_0003d03c" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc)" ( (pointer_expression "*(undefined4 *)PTR_DAT_0003d038" * (cast_expression "(undefined4 *)PTR_DAT_0003d038" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_DAT_0003d02c + -0x51b0" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003d02c + -0x4cfc" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" statement_identifier : (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;)) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x412c" identifier + number_literal) , identifier ))) ;) (labeled_statement "LAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);" statement_identifier : (expression_statement "iVar3 = FUN_0001fdfc(unaff_s2);" (assignment_expression "iVar3 = FUN_0001fdfc(unaff_s2)" identifier = (call_expression "FUN_0001fdfc(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier )))) ;)) (if_statement "if (iVar3 == 0) goto LAB_0001da08;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001da08;" goto statement_identifier ;)) (expression_statement "uVar4 = piVar2[0x3d];" (assignment_expression "uVar4 = piVar2[0x3d]" identifier = (subscript_expression "piVar2[0x3d]" identifier [ number_literal ])) ;) (if_statement "if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;" if (parenthesized_expression "((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0))" ( (binary_expression "(0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)" (parenthesized_expression "(0x3ff < (int)unaff_s2)" ( (binary_expression "0x3ff < (int)unaff_s2" number_literal < (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((uVar4 & 0x240) == 0)" ( (binary_expression "(uVar4 & 0x240) == 0" (parenthesized_expression "(uVar4 & 0x240)" ( (binary_expression "uVar4 & 0x240" identifier & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0001daac;" goto statement_identifier ;)) (labeled_statement "LAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }" statement_identifier : (if_statement "if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }" if (parenthesized_expression "(((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0))" ( (binary_expression "((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)" (parenthesized_expression "((uVar4 & 0x200) != 0)" ( (binary_expression "(uVar4 & 0x200) != 0" (parenthesized_expression "(uVar4 & 0x200)" ( (binary_expression "uVar4 & 0x200" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(piVar2[0x22] == 0)" ( (binary_expression "piVar2[0x22] == 0" (subscript_expression "piVar2[0x22]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }" { (if_statement "if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }" if (parenthesized_expression "((uVar4 & 4) != 0)" ( (binary_expression "(uVar4 & 4) != 0" (parenthesized_expression "(uVar4 & 4)" ( (binary_expression "uVar4 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4064)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4064" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) (expression_statement "iVar3 = FUN_000182d0(piVar2);" (assignment_expression "iVar3 = FUN_000182d0(piVar2)" identifier = (call_expression "FUN_000182d0(piVar2)" identifier (argument_list "(piVar2)" ( identifier )))) ;) (if_statement "if (iVar3 != 1) goto LAB_0001d46c;" if (parenthesized_expression "(iVar3 != 1)" ( (binary_expression "iVar3 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) }))) (expression_statement "param_2 = piVar2 + 0x25;" (assignment_expression "param_2 = piVar2 + 0x25" identifier = (binary_expression "piVar2 + 0x25" identifier + number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }" { (labeled_statement "LAB_0001d824:\n        piVar5 = piVar2 + 0x2b;" statement_identifier : (expression_statement "piVar5 = piVar2 + 0x2b;" (assignment_expression "piVar5 = piVar2 + 0x2b" identifier = (binary_expression "piVar2 + 0x2b" identifier + number_literal)) ;)) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }" { (if_statement "if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;" if (parenthesized_expression "((piVar2[0x3d] & 0x108U) != 8)" ( (binary_expression "(piVar2[0x3d] & 0x108U) != 8" (parenthesized_expression "(piVar2[0x3d] & 0x108U)" ( (binary_expression "piVar2[0x3d] & 0x108U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d504;" goto statement_identifier ;)) (expression_statement "uVar4 = piVar2[0x22];" (assignment_expression "uVar4 = piVar2[0x22]" identifier = (subscript_expression "piVar2[0x22]" identifier [ number_literal ])) ;) (if_statement "if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }" { (expression_statement "uVar17 = piVar2[0x3a];" (assignment_expression "uVar17 = piVar2[0x3a]" identifier = (subscript_expression "piVar2[0x3a]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);" (assignment_expression "iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130)" identifier = (call_expression "(*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130)" (parenthesized_expression "(*(code *)PTR_malloc_0003d1e0)" ( (pointer_expression "*(code *)PTR_malloc_0003d1e0" * (cast_expression "(code *)PTR_malloc_0003d1e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4 * 0x130)" ( (binary_expression "uVar4 * 0x130" identifier * number_literal) )))) ;) (expression_statement "piVar2[0x1d] = iVar3;" (assignment_expression "piVar2[0x1d] = iVar3" (subscript_expression "piVar2[0x1d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11 = PTR_DAT_0003d02c;" (assignment_expression "puVar11 = PTR_DAT_0003d02c" identifier = identifier) ;) (if_statement "if (iVar3 == 0) goto LAB_0001e05c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e05c;" goto statement_identifier ;)) (if_statement "if (uVar4 == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar20 = uVar17 / uVar4;" (assignment_expression "uVar20 = uVar17 / uVar4" identifier = (binary_expression "uVar17 / uVar4" identifier / identifier)) ;) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30)" identifier = (cast_expression "(code *)(PTR_LAB_0003d054 + -0x7d30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0003d054 + -0x7d30)" ( (binary_expression "PTR_LAB_0003d054 + -0x7d30" identifier + number_literal) )))) ;) (expression_statement "puVar8 = PTR_LAB_0003d054 + -0x3aa8;" (assignment_expression "puVar8 = PTR_LAB_0003d054 + -0x3aa8" identifier = (binary_expression "PTR_LAB_0003d054 + -0x3aa8" identifier + number_literal)) ;) (do_statement "do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );" do (compound_statement "{\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            }" { (expression_statement "piVar19 = (int *)(iVar3 + iVar18);" (assignment_expression "piVar19 = (int *)(iVar3 + iVar18)" identifier = (cast_expression "(int *)(iVar3 + iVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + iVar18)" ( (binary_expression "iVar3 + iVar18" identifier + identifier) )))) ;) (expression_statement "piVar5 = piVar19;" (assignment_expression "piVar5 = piVar19" identifier = identifier) ;) (expression_statement "piVar9 = piVar2;" (assignment_expression "piVar9 = piVar2" identifier = identifier) ;) (do_statement "do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);" do (compound_statement "{\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              }" { (expression_statement "piVar10 = piVar9 + 4;" (assignment_expression "piVar10 = piVar9 + 4" identifier = (binary_expression "piVar9 + 4" identifier + number_literal)) ;) (expression_statement "iVar14 = piVar9[1];" (assignment_expression "iVar14 = piVar9[1]" identifier = (subscript_expression "piVar9[1]" identifier [ number_literal ])) ;) (expression_statement "iVar13 = piVar9[2];" (assignment_expression "iVar13 = piVar9[2]" identifier = (subscript_expression "piVar9[2]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar9[3];" (assignment_expression "iVar3 = piVar9[3]" identifier = (subscript_expression "piVar9[3]" identifier [ number_literal ])) ;) (expression_statement "*piVar5 = *piVar9;" (assignment_expression "*piVar5 = *piVar9" (pointer_expression "*piVar5" * identifier) = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "piVar5[1] = iVar14;" (assignment_expression "piVar5[1] = iVar14" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5[2] = iVar13;" (assignment_expression "piVar5[2] = iVar13" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5[3] = iVar3;" (assignment_expression "piVar5[3] = iVar3" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5 = piVar5 + 4;" (assignment_expression "piVar5 = piVar5 + 4" identifier = (binary_expression "piVar5 + 4" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar10;" (assignment_expression "piVar9 = piVar10" identifier = identifier) ;) }) while (parenthesized_expression "(piVar10 != piVar2 + 0x4c)" ( (binary_expression "piVar10 != piVar2 + 0x4c" identifier != (binary_expression "piVar2 + 0x4c" identifier + number_literal)) )) ;) (expression_statement "piVar19[0x1c] = (int)piVar2;" (assignment_expression "piVar19[0x1c] = (int)piVar2" (subscript_expression "piVar19[0x1c]" identifier [ number_literal ]) = (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar19[0x22] = 0;" (assignment_expression "piVar19[0x22] = 0" (subscript_expression "piVar19[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar19[0x1d] = 0;" (assignment_expression "piVar19[0x1d] = 0" (subscript_expression "piVar19[0x1d]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }" if (parenthesized_expression "((piVar2[0x3d] & 0x400U) == 0)" ( (binary_expression "(piVar2[0x3d] & 0x400U) == 0" (parenthesized_expression "(piVar2[0x3d] & 0x400U)" ( (binary_expression "piVar2[0x3d] & 0x400U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                piVar19[0x36] = -1;\n              }" { (expression_statement "piVar19[0x36] = -1;" (assignment_expression "piVar19[0x36] = -1" (subscript_expression "piVar19[0x36]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }" else (compound_statement "{\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }" { (expression_statement "iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);" (assignment_expression "iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080)" identifier = (call_expression "(*(code *)PTR_eventfd_0003d148)(0,0x80080)" (parenthesized_expression "(*(code *)PTR_eventfd_0003d148)" ( (pointer_expression "*(code *)PTR_eventfd_0003d148" * (cast_expression "(code *)PTR_eventfd_0003d148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0x80080)" ( number_literal , number_literal )))) ;) (expression_statement "piVar19[0x36] = iVar3;" (assignment_expression "piVar19[0x36] = iVar3" (subscript_expression "piVar19[0x36]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3fb8" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;) })) (if_statement "if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }" if (parenthesized_expression "(((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3))" ( (binary_expression "((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)" (parenthesized_expression "((piVar2[0x3d] & 0x240U) == 0)" ( (binary_expression "(piVar2[0x3d] & 0x240U) == 0" (parenthesized_expression "(piVar2[0x3d] & 0x240U)" ( (binary_expression "piVar2[0x3d] & 0x240U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(0x3ff < iVar3)" ( (binary_expression "0x3ff < iVar3" number_literal < identifier) ))) )) (compound_statement "{\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3f78)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3f78" identifier + number_literal) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36])" identifier = (call_expression "(*(code *)PTR_close_0003d128)(piVar19[0x36])" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar19[0x36])" ( (subscript_expression "piVar19[0x36]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0001e054;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;)) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001e054;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;)) (expression_statement "uVar12 = 0x1977;" (assignment_expression "uVar12 = 0x1977" identifier = number_literal) ;) (goto_statement "goto LAB_0001d9b4;" goto statement_identifier ;) })) }))) (if_statement "if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }" if (parenthesized_expression "(piVar15 < (int *)(uVar17 % uVar4))" ( (binary_expression "piVar15 < (int *)(uVar17 % uVar4)" identifier < (cast_expression "(int *)(uVar17 % uVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar17 % uVar4)" ( (binary_expression "uVar17 % uVar4" identifier % identifier) )))) )) (compound_statement "{\n                piVar19[0x3a] = uVar20 + 1;\n              }" { (expression_statement "piVar19[0x3a] = uVar20 + 1;" (assignment_expression "piVar19[0x3a] = uVar20 + 1" (subscript_expression "piVar19[0x3a]" identifier [ number_literal ]) = (binary_expression "uVar20 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                piVar19[0x3a] = uVar20;\n              }" else (compound_statement "{\n                piVar19[0x3a] = uVar20;\n              }" { (expression_statement "piVar19[0x3a] = uVar20;" (assignment_expression "piVar19[0x3a] = uVar20" (subscript_expression "piVar19[0x3a]" identifier [ number_literal ]) = identifier) ;) }))) (if_statement "if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;" if (parenthesized_expression "(((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))" ( (binary_expression "((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1)" (parenthesized_expression "((piVar2[0x3d] & 0x200U) != 0)" ( (binary_expression "(piVar2[0x3d] & 0x200U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x200U)" ( (binary_expression "piVar2[0x3d] & 0x200U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(iVar3 = (*pcVar7)(piVar19), iVar3 != 1)" ( (comma_expression "iVar3 = (*pcVar7)(piVar19), iVar3 != 1" (assignment_expression "iVar3 = (*pcVar7)(piVar19)" identifier = (call_expression "(*pcVar7)(piVar19)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(piVar19)" ( identifier )))) , (binary_expression "iVar3 != 1" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar19 + 0x2b,0)" ( (binary_expression "piVar19 + 0x2b" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0001e2a8;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e2a8;" goto statement_identifier ;)) (expression_statement "iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);" (assignment_expression "iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19)" identifier = (call_expression "FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19)" identifier (argument_list "(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19)" ( (binary_expression "piVar19 + 0x23" identifier + number_literal) , (binary_expression "puVar11 + -0x3eec" identifier + number_literal) , (subscript_expression "piVar2[0x21]" identifier [ number_literal ]) , identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3ee0" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar19 + 0x2b)" ( (binary_expression "piVar19 + 0x2b" identifier + number_literal) )))) ;) (expression_statement "uVar12 = 0x19a1;" (assignment_expression "uVar12 = 0x19a1" identifier = number_literal) ;) (if_statement "if (iVar3 == 0) goto LAB_0001e054;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;)) (goto_statement "goto LAB_0001e284;" goto statement_identifier ;) })) (expression_statement "piVar15 = (int *)((int)piVar15 + 1);" (assignment_expression "piVar15 = (int *)((int)piVar15 + 1)" identifier = (cast_expression "(int *)((int)piVar15 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 1)" ( (binary_expression "(int)piVar15 + 1" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar18 = iVar18 + 0x130;" (assignment_expression "iVar18 = iVar18 + 0x130" identifier = (binary_expression "iVar18 + 0x130" identifier + number_literal)) ;) (if_statement "if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;" if (parenthesized_expression "((int *)piVar2[0x22] <= piVar15)" ( (binary_expression "(int *)piVar2[0x22] <= piVar15" (cast_expression "(int *)piVar2[0x22]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[0x22]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_0001d504;" goto statement_identifier ;)) (expression_statement "iVar3 = piVar2[0x1d];" (assignment_expression "iVar3 = piVar2[0x1d]" identifier = (subscript_expression "piVar2[0x1d]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }" if (parenthesized_expression "((piVar2[0x3d] & 4U) == 0)" ( (binary_expression "(piVar2[0x3d] & 4U) == 0" (parenthesized_expression "(piVar2[0x3d] & 4U)" ( (binary_expression "piVar2[0x3d] & 4U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }" { (expression_statement "puVar11 = PTR_DAT_0003d02c + -0x43ec;" (assignment_expression "puVar11 = PTR_DAT_0003d02c + -0x43ec" identifier = (binary_expression "PTR_DAT_0003d02c + -0x43ec" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }" else (compound_statement "{\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }" { (expression_statement "puVar11 = PTR_DAT_0003d02c + -0x43f8;" (assignment_expression "puVar11 = PTR_DAT_0003d02c + -0x43f8" identifier = (binary_expression "PTR_DAT_0003d02c + -0x43f8" identifier + number_literal)) ;) }))) (expression_statement "iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;" (assignment_expression "iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)" identifier = (call_expression "FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)" identifier (argument_list "(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)" ( (binary_expression "piVar2 + 0x23" identifier + number_literal) , identifier , (subscript_expression "piVar2[0x21]" identifier [ number_literal ]) , (binary_expression "PTR_LAB_0003d054 + -0x3aa8" identifier + number_literal) , identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0001d504;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001d504;" goto statement_identifier ;)) (expression_statement "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*piVar15)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3fdc" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "uVar12 = 0x193b;" (assignment_expression "uVar12 = 0x193b" identifier = number_literal) ;) (if_statement "if (iVar3 != 0) goto LAB_0001e284;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e284;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "uVar12 = 0x193c;" (assignment_expression "uVar12 = 0x193c" identifier = number_literal) ;) (if_statement "if (iVar3 != 0) goto LAB_0001e284;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e284;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;" if (parenthesized_expression "((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0))" ( (binary_expression "(unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)" (parenthesized_expression "(unaff_s2 == 0xffffffff)" ( (binary_expression "unaff_s2 == 0xffffffff" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "iVar3 = *piVar15;" (assignment_expression "iVar3 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uVar12 = 0x193e;" (assignment_expression "uVar12 = 0x193e" identifier = number_literal) ;) (goto_statement "goto joined_r0x0001de3c;" goto statement_identifier ;) })) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4014)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4014" identifier + number_literal) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "uVar12 = 0x190e;" (assignment_expression "uVar12 = 0x190e" identifier = number_literal) ;) (if_statement "if (iVar3 != 0) goto LAB_0001e284;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e284;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }" if (parenthesized_expression "((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))" ( (binary_expression "(unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)" (parenthesized_expression "(unaff_s2 != 0xffffffff)" ( (binary_expression "unaff_s2 != 0xffffffff" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)" ( (comma_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }" { (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = *piVar5;" (assignment_expression "iVar3 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "uVar12 = 0x1911;" (assignment_expression "uVar12 = 0x1911" identifier = number_literal) ;) (goto_statement "goto joined_r0x0001de3c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4014)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4014" identifier + number_literal) ))) ;) (if_statement "if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;" if (parenthesized_expression "(unaff_s2 == 0xffffffff)" ( (binary_expression "unaff_s2 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (labeled_statement "LAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" statement_identifier : (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;)) (if_statement "if (iVar3 == 0) goto LAB_0001d46c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = *piVar5;" (assignment_expression "iVar3 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "uVar12 = 0x1904;" (assignment_expression "uVar12 = 0x1904" identifier = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (labeled_statement "LAB_0001d388:\n  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;" statement_identifier : (if_statement "if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;" if (parenthesized_expression "(*(short *)(piVar2 + 0x3e) != 0)" ( (binary_expression "*(short *)(piVar2 + 0x3e) != 0" (pointer_expression "*(short *)(piVar2 + 0x3e)" * (cast_expression "(short *)(piVar2 + 0x3e)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x3e)" ( (binary_expression "piVar2 + 0x3e" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;))) (if_statement "if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;" if (parenthesized_expression "((piVar2[0x3d] & 0x100U) != 0)" ( (binary_expression "(piVar2[0x3d] & 0x100U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x100U)" ( (binary_expression "piVar2[0x3d] & 0x100U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;)) (expression_statement "uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);" (assignment_expression "uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80)" identifier = (call_expression "(*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80)" (parenthesized_expression "(*(code *)PTR_memset_0003d19c)" ( (pointer_expression "*(code *)PTR_memset_0003d19c" * (cast_expression "(code *)PTR_memset_0003d19c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_ac,0,0x80)" ( (pointer_expression "&local_ac" & identifier) , number_literal , number_literal )))) ;) (expression_statement "local_e0 = 0x80;" (assignment_expression "local_e0 = 0x80" identifier = number_literal) ;) (expression_statement "iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);" (assignment_expression "iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0)" identifier = (call_expression "(*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0)" (parenthesized_expression "(*(code *)PTR_getsockname_0003d15c)" ( (pointer_expression "*(code *)PTR_getsockname_0003d15c" * (cast_expression "(code *)PTR_getsockname_0003d15c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,uVar12,&local_e0)" ( identifier , identifier , (pointer_expression "&local_e0" & identifier) )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0001db20;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001db20;" goto statement_identifier ;)) (if_statement "if (0x80 < local_e0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }" if (parenthesized_expression "(0x80 < local_e0)" ( (binary_expression "0x80 < local_e0" number_literal < identifier) )) (compound_statement "{\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4104)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4104" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;) })) (if_statement "if ((local_ac != 2) && (local_ac != 10)) {\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }" if (parenthesized_expression "((local_ac != 2) && (local_ac != 10))" ( (binary_expression "(local_ac != 2) && (local_ac != 10)" (parenthesized_expression "(local_ac != 2)" ( (binary_expression "local_ac != 2" identifier != number_literal) )) && (parenthesized_expression "(local_ac != 10)" ( (binary_expression "local_ac != 10" identifier != number_literal) ))) )) (compound_statement "{\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }" { (if_statement "if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }" if (parenthesized_expression "(local_ac != 1)" ( (binary_expression "local_ac != 1" identifier != number_literal) )) (compound_statement "{\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x40b8)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x40b8" identifier + number_literal) ))) ;) })) (expression_statement "*(undefined2 *)(piVar2 + 0x3e) = 0;" (assignment_expression "*(undefined2 *)(piVar2 + 0x3e) = 0" (pointer_expression "*(undefined2 *)(piVar2 + 0x3e)" * (cast_expression "(undefined2 *)(piVar2 + 0x3e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x3e)" ( (binary_expression "piVar2 + 0x3e" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;) })) (expression_statement "*(undefined2 *)(piVar2 + 0x3e) = local_aa;" (assignment_expression "*(undefined2 *)(piVar2 + 0x3e) = local_aa" (pointer_expression "*(undefined2 *)(piVar2 + 0x3e)" * (cast_expression "(undefined2 *)(piVar2 + 0x3e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x3e)" ( (binary_expression "piVar2 + 0x3e" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;) (labeled_statement "LAB_0001da08:\n  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();" statement_identifier : (expression_statement "param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "param_2 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;)) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*param_2)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*param_2)" ( (pointer_expression "*param_2" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x409c" identifier + number_literal) , identifier ))) ;) (if_statement "if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }" if (parenthesized_expression "(((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0))" ( (binary_expression "((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)" (parenthesized_expression "((piVar2[0x3d] & 0x200U) != 0)" ( (binary_expression "(piVar2[0x3d] & 0x200U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x200U)" ( (binary_expression "piVar2[0x3d] & 0x200U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(piVar2[0x22] != 0)" ( (binary_expression "piVar2[0x22] != 0" (subscript_expression "piVar2[0x22]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }" { (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0001d46c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "iVar3 = *param_2;" (assignment_expression "iVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar12 = 0x18d4;" (assignment_expression "uVar12 = 0x18d4" identifier = number_literal) ;) (goto_statement "goto joined_r0x0001de3c;" goto statement_identifier ;) })) (if_statement "if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }" if (parenthesized_expression "(((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0))" ( (binary_expression "((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)" (parenthesized_expression "((int)unaff_s2 < 0x400)" ( (binary_expression "(int)unaff_s2 < 0x400" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "((piVar2[0x3d] & 0x240U) != 0)" ( (binary_expression "(piVar2[0x3d] & 0x240U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x240U)" ( (binary_expression "piVar2[0x3d] & 0x240U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }" { (expression_statement "param_2 = piVar2 + 0x25;" (assignment_expression "param_2 = piVar2 + 0x25" identifier = (binary_expression "piVar2 + 0x25" identifier + number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4014)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4014" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0001d660;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001d824;" goto statement_identifier ;) })) (labeled_statement "LAB_0001daac:\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);" statement_identifier : (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4c5c" identifier + number_literal) , identifier , number_literal ))) ;)) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }" { (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = *piVar5;" (assignment_expression "iVar3 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "uVar12 = 0x18e3;" (assignment_expression "uVar12 = 0x18e3" identifier = number_literal) ;) (goto_statement "goto joined_r0x0001de3c;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d46c:\n  if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }" statement_identifier : (if_statement "if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }" if (parenthesized_expression "(piVar2[0x34] != -1)" ( (binary_expression "piVar2[0x34] != -1" (subscript_expression "piVar2[0x34]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_close_0003d128)();\n  }" { (expression_statement "(*(code *)PTR_close_0003d128)();" (call_expression "(*(code *)PTR_close_0003d128)()" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "(*(code *)PTR_free_0003d250)(piVar2[0x41]);" (call_expression "(*(code *)PTR_free_0003d250)(piVar2[0x41])" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2[0x41])" ( (subscript_expression "piVar2[0x41]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_7)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0001e310;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e310;" goto statement_identifier ;)) (if_statement "if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }" if (parenthesized_expression "((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0))" ( (binary_expression "(piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)" (parenthesized_expression "(piVar2[0x36] != -1)" ( (binary_expression "piVar2[0x36] != -1" (subscript_expression "piVar2[0x36]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)" ( (comma_expression "iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)()" identifier = (call_expression "(*(code *)PTR_close_0003d128)()" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }" { (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = 0x19f0;" (assignment_expression "uVar12 = 0x19f0" identifier = number_literal) ;) (if_statement "if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }" if (parenthesized_expression "(*piVar5 == 9)" ( (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" * identifier) == number_literal) )) (compound_statement "{\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }" { (labeled_statement "LAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);" statement_identifier : (expression_statement "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);" (call_expression "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c)" (parenthesized_expression "(**(code **)PTR_DAT_0003d03c)" ( (pointer_expression "**(code **)PTR_DAT_0003d03c" * (pointer_expression "*(code **)PTR_DAT_0003d03c" * (cast_expression "(code **)PTR_DAT_0003d03c" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c)" ( (pointer_expression "*(undefined4 *)PTR_DAT_0003d038" * (cast_expression "(undefined4 *)PTR_DAT_0003d038" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_DAT_0003d02c + -0x51b0" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003d02c + -0x442c" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);" statement_identifier : (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4284)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4284" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);" statement_identifier : (expression_statement "(*(code *)PTR_free_0003d250)(piVar2);" (call_expression "(*(code *)PTR_free_0003d250)(piVar2)" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;)) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0001d504;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(piVar2);" statement_identifier : (expression_statement "(*(code *)PTR_free_0003d250)(piVar2);" (call_expression "(*(code *)PTR_free_0003d250)(piVar2)" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;)) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0001d504:\n  do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );" statement_identifier : (do_statement "do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );" do (compound_statement "{\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  }" { (if_statement "if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }" if (parenthesized_expression "(local_2c == *(int *)puVar1)" ( (binary_expression "local_2c == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return piVar2;\n    }" { (return_statement "return piVar2;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_0003d21c)();" (call_expression "(*(code *)PTR___stack_chk_fail_0003d21c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0003d21c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0003d21c" * (cast_expression "(code *)PTR___stack_chk_fail_0003d21c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001e310:\n    uVar12 = 0x19e2;" statement_identifier : (expression_statement "uVar12 = 0x19e2;" (assignment_expression "uVar12 = 0x19e2" identifier = number_literal) ;)) (labeled_statement "LAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }" statement_identifier : (while_statement "while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }" { (expression_statement "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);" (call_expression "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414)" (parenthesized_expression "(**(code **)PTR_DAT_0003d03c)" ( (pointer_expression "**(code **)PTR_DAT_0003d03c" * (pointer_expression "*(code **)PTR_DAT_0003d03c" * (cast_expression "(code **)PTR_DAT_0003d03c" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414)" ( (pointer_expression "*(undefined4 *)PTR_DAT_0003d038" * (cast_expression "(undefined4 *)PTR_DAT_0003d038" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_DAT_0003d02c + -0x51b0" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003d02c + -0x4414" identifier + number_literal) ))) ;) (labeled_statement "LAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);" statement_identifier : (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3f20)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3f20" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;" statement_identifier : (expression_statement "puVar11 = PTR_MHD_stop_daemon_0003d168;" (assignment_expression "puVar11 = PTR_MHD_stop_daemon_0003d168" identifier = identifier) ;)) (if_statement "if (piVar15 != (int *)0x0) break;" if (parenthesized_expression "(piVar15 != (int *)0x0)" ( (binary_expression "piVar15 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }" statement_identifier : (if_statement "if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }" if (parenthesized_expression "((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))" ( (binary_expression "(unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)" (parenthesized_expression "(unaff_s2 != 0xffffffff)" ( (binary_expression "unaff_s2 != 0xffffffff" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)" ( (comma_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }" { (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = 0x19b9;" (assignment_expression "uVar12 = 0x19b9" identifier = number_literal) ;) (if_statement "if (*piVar5 == 9) goto LAB_0001db00;" if (parenthesized_expression "(*piVar5 == 9)" ( (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" * identifier) == number_literal) )) (goto_statement "goto LAB_0001db00;" goto statement_identifier ;)) }))) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "uVar12 = 0x19ba;" (assignment_expression "uVar12 = 0x19ba" identifier = number_literal) ;) (if_statement "if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }" { (if_statement "if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }" if (parenthesized_expression "(piVar2[0x1d] != 0)" ( (binary_expression "piVar2[0x1d] != 0" (subscript_expression "piVar2[0x1d]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          (*(code *)PTR_free_0003d250)();\n        }" { (expression_statement "(*(code *)PTR_free_0003d250)();" (call_expression "(*(code *)PTR_free_0003d250)()" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) }))) (expression_statement "piVar2[0x22] = (int)piVar15;" (assignment_expression "piVar2[0x22] = (int)piVar15" (subscript_expression "piVar2[0x22]" identifier [ number_literal ]) = (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(*(code *)puVar11)(piVar2);" (call_expression "(*(code *)puVar11)(piVar2)" (parenthesized_expression "(*(code *)puVar11)" ( (pointer_expression "*(code *)puVar11" * (cast_expression "(code *)puVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;) (expression_statement "unaff_s4 = param_2;" (assignment_expression "unaff_s4 = param_2" identifier = identifier) ;) (labeled_statement "LAB_0001d568:\n    param_2 = unaff_s4;" statement_identifier : (expression_statement "param_2 = unaff_s4;" (assignment_expression "param_2 = unaff_s4" identifier = identifier) ;)) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */\n\nMHD_Daemon *\nMHD_start_daemon_va(uint flags,uint16_t port,MHD_AcceptPolicyCallback apc,void *apc_cls,\n                   MHD_AccessHandlerCallback dh,void *dh_cls,va_list ap)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  MHD_Daemon *daemon;\n  MHD_Result MVar5;\n  MHD_FLAG MVar6;\n  uint uVar7;\n  MHD_NonceNc *pMVar8;\n  int iVar9;\n  int *piVar10;\n  MHD_mutex_ *pMVar11;\n  undefined4 *puVar12;\n  MHD_Daemon *pMVar13;\n  int iVar14;\n  code *pcVar15;\n  MHD_THREAD_START_ROUTINE_ start_routine;\n  MHD_Connection **ppMVar16;\n  undefined2 in_register_00000014;\n  char *thread_name;\n  MHD_Connection *pMVar17;\n  undefined4 uVar18;\n  MHD_Connection *pMVar19;\n  void *pvVar20;\n  int *piVar21;\n  MHD_FLAG unaff_s2;\n  MHD_mutex_ *unaff_s4;\n  MHD_mutex_ *pMVar22;\n  uint uVar23;\n  undefined4 *arg;\n  uint uVar24;\n  MHD_SCKT_OPT_BOOL_ on;\n  sockaddr *servaddr;\n  socklen_t addrlen;\n  MHD_SCKT_OPT_BOOL_ v6_only;\n  sockaddr_in servaddr4;\n  sockaddr_in6 servaddr6;\n  sockaddr_storage bindaddr;\n  \n  puVar3 = PTR___stack_chk_guard_0003d244;\n  pMVar11 = (MHD_mutex_ *)CONCAT22(in_register_00000014,port);\n  piVar21 = (int *)(flags & 2);\n  iVar4 = *(int *)PTR___stack_chk_guard_0003d244;\n  on = 1;\n  servaddr = (sockaddr *)0x0;\n  if (piVar21 != (int *)0x0) goto LAB_0001d568;\n  unaff_s2 = flags;\n  if ((flags & 0x8000) != 0) {\n    unaff_s2 = flags | MHD_ALLOW_SUSPEND_RESUME;\n  }\n  unaff_s4 = pMVar11;\n  if (dh == (MHD_AccessHandlerCallback)0x0) goto LAB_0001d568;\n  if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) == (MHD_USE_EPOLL|MHD_USE_POLL)) goto LAB_0001d568;\n  if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)) ==\n      (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)) goto LAB_0001d568;\n  if ((unaff_s2 & (MHD_USE_POLL_INTERNALLY|MHD_USE_THREAD_PER_CONNECTION)) == MHD_USE_POLL)\n  goto LAB_0001d568;\n  if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) goto LAB_0001d568;\n    if ((unaff_s2 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_EPOLL;\n    }\n    else {\n      unaff_s2 = unaff_s2 | MHD_USE_POLL;\n    }\n  }\n  daemon = (MHD_Daemon *)(*(code *)PTR_calloc_0003d120)(1,0x130);\n  if (daemon == (MHD_Daemon *)0x0) goto LAB_0001d568;\n  daemon->listening_address_reuse = 0;\n  daemon->epoll_fd = -1;\n  daemon->listen_fd = -1;\n  (daemon->itc).fd = -1;\n  daemon->connection_limit = 0x3fc;\n  daemon->listen_backlog_size = 0x80;\n  puVar1 = PTR_LAB_0003d054;\n  daemon->pool_size = 0x8000;\n  daemon->strict_for_client = (unaff_s2 << 0x1a) >> 0x1f;\n  daemon->pool_increment = 0x400;\n  puVar2 = PTR_LAB_0003d054;\n  daemon->custom_error_log = (MHD_LogCallback)(puVar1 + -0x7d68);\n  puVar1 = PTR_stderr_0003d258;\n  daemon->options = unaff_s2;\n  daemon->port = port;\n  daemon->apc = apc;\n  daemon->apc_cls = apc_cls;\n  daemon->default_handler = dh;\n  daemon->default_handler_cls = dh_cls;\n  daemon->connections = 0;\n  daemon->unescape_callback = (UnescapeCallback)(puVar2 + -0x7d48);\n  daemon->connection_timeout = 0;\n  daemon->custom_error_log_cls = *(void **)puVar1;\n  if ((unaff_s2 & (MHD_USE_INTERNAL_POLLING_THREAD|MHD_USE_THREAD_PER_CONNECTION)) ==\n      MHD_USE_THREAD_PER_CONNECTION) {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = daemon->options | MHD_USE_INTERNAL_POLLING_THREAD;\n    daemon->options = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_ITC;\n      daemon->options = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & MHD_USE_INTERNAL_POLLING_THREAD) != MHD_NO_FLAG) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & ~MHD_USE_ITC;\n    daemon->options = unaff_s2;\n  }\n  daemon->digest_auth_rand_size = 0;\n  daemon->digest_auth_random = (char *)0x0;\n  daemon->nonce_nc_size = 4;\n  MVar5 = parse_options_va(daemon,&servaddr,ap);\n  if (MVar5 != MHD_YES) goto LAB_0001d4f0;\n  MVar6 = daemon->options;\n  if ((daemon->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n     ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)) {\n    if ((MVar6 & MHD_USE_ITC) != MHD_NO_FLAG) {\n      uVar7 = daemon->worker_pool_size;\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    daemon->options = MVar6 | MHD_USE_ITC;\n    uVar7 = daemon->worker_pool_size;\nLAB_0001d2f4:\n    if (uVar7 == 0) {\n      iVar9 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      (daemon->itc).fd = iVar9;\n      if (iVar9 == -1) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);\n        goto LAB_0001d9f0;\n      }\n      if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9)) {\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);\n        iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);\n        if (iVar9 == 0) goto LAB_0001d4f0;\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x172d;\n        if (*piVar10 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }\n  uVar7 = daemon->nonce_nc_size;\n  if (uVar7 != 0) {\n    if (uVar7 != (uVar7 * 0x98) / 0x98) goto LAB_0001d9d8;\n    pMVar8 = (MHD_NonceNc *)(*(code *)PTR_malloc_0003d1e0)();\n    daemon->nnc = pMVar8;\n    if (pMVar8 == (MHD_NonceNc *)0x0) {\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x425c,uVar18);\n      goto LAB_0001d9f0;\n    }\n  }\n  ap = &daemon->nnc_lock;\n  iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(ap,0);\n  if (iVar9 != 0) {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(daemon->nnc);\n    goto LAB_0001d9f0;\n  }\n  MVar6 = daemon->options;\n  if (((MVar6 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) && (daemon->worker_pool_size != 0))\n  {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }\n  unaff_s2 = daemon->listen_fd;\n  if (unaff_s2 == ~MHD_NO_FLAG) {\n    if ((MVar6 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) goto LAB_0001d3c4;\n    iVar9 = 2;\n    if ((MVar6 & MHD_USE_IPv6) != MHD_NO_FLAG) {\n      iVar9 = 10;\n    }\n    unaff_s2 = MHD_socket_create_listen_(iVar9);\n    if (unaff_s2 == ~MHD_NO_FLAG) {\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x41b8,uVar18);\n      goto LAB_0001d46c;\n    }\n    if (daemon->listening_address_reuse == 0) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }\n    else if (0 < daemon->listening_address_reuse) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((daemon->options & MHD_USE_IPv6) == MHD_NO_FLAG) {\n      addrlen = 0x10;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr4.sin_addr.s_addr = 0;\n        servaddr4.sin_zero[0] = '\0';\n        servaddr4.sin_zero[1] = '\0';\n        servaddr4.sin_zero[2] = '\0';\n        servaddr4.sin_zero[3] = '\0';\n        servaddr4.sin_family = 2;\n        servaddr = (sockaddr *)&servaddr4;\n        servaddr4.sin_zero[4] = '\0';\n        servaddr4.sin_zero[5] = '\0';\n        servaddr4.sin_zero[6] = '\0';\n        servaddr4.sin_zero[7] = '\0';\n        daemon->listen_fd = unaff_s2;\n        servaddr4.sin_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n    }\n    else {\n      addrlen = 0x1c;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr6.sin6_flowinfo = 0;\n        servaddr6.sin6_scope_id = 0;\n        servaddr6.sin6_family = 10;\n        servaddr = (sockaddr *)&servaddr6;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;\n        daemon->listen_fd = unaff_s2;\n        servaddr6.sin6_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n      v6_only = (MHD_SCKT_OPT_BOOL_)((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&v6_only,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }\n    iVar9 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,servaddr,addrlen);\n    puVar1 = PTR_setsockopt_0003d284;\n    if (iVar9 == -1) {\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4174,pMVar11,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x184d;\n    }\n    else {\n      if ((daemon->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n        if (daemon->fastopen_queue_size == 0) {\n          daemon->fastopen_queue_size = 10;\n        }\n        iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4);\n        if (iVar9 != 0) {\n          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        }\n      }\n      iVar9 = (*(code *)PTR_listen_0003d16c)(unaff_s2,daemon->listen_backlog_size);\n      if (-1 < iVar9) goto LAB_0001d388;\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4154,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar9 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x412c,uVar18);\nLAB_0001d394:\n      iVar9 = MHD_socket_nonblocking_(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001da08;\n      MVar6 = daemon->options;\n      if ((0x3ff < (int)unaff_s2) && ((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG))\n      goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0)) {\n        if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        MVar5 = setup_epoll_to_listen(daemon);\n        if (MVar5 != MHD_YES) goto LAB_0001d46c;\n      }\n      pMVar11 = &daemon->per_ip_connection_mutex;\n      iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n      if (iVar9 == 0) {\nLAB_0001d824:\n        pMVar22 = &daemon->cleanup_connection_mutex;\n        iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);\n        if (iVar9 == 0) {\n          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;\n          uVar7 = daemon->worker_pool_size;\n          if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }\n          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);\n          if (iVar9 != 0) goto LAB_0001d504;\n          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n          uVar18 = 0x193b;\n          if (iVar9 != 0) goto LAB_0001e284;\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n          uVar18 = 0x193c;\n          if (iVar9 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;\n          iVar9 = *piVar21;\n          uVar18 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n        iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n        uVar18 = 0x190e;\n        if (iVar9 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar9 = *piVar10;\n          uVar18 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == ~MHD_NO_FLAG) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar9 = *piVar10;\n      uVar18 = 0x1904;\n    } while( true );\n  }\nLAB_0001d388:\n  if (daemon->port != 0) goto LAB_0001d394;\n  if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) goto LAB_0001d394;\n  uVar18 = (*(code *)PTR_memset_0003d19c)(&bindaddr,0,0x80);\n  addrlen = 0x80;\n  iVar9 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar18,&addrlen);\n  if (iVar9 != 0) goto LAB_0001db20;\n  if (0x80 < addrlen) {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }\n  if ((bindaddr.ss_family != 2) && (bindaddr.ss_family != 10)) {\n    if (bindaddr.ss_family != 1) {\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x40b8);\n    }\n    daemon->port = 0;\n    goto LAB_0001d394;\n  }\n  daemon->port = bindaddr.__ss_padding._0_2_;\n  goto LAB_0001d394;\nLAB_0001da08:\n  pMVar11 = (MHD_mutex_ *)(*(code *)PTR___errno_location_0003d198)();\n  uVar18 = (*(code *)PTR_strerror_0003d1dc)((pMVar11->__data).__lock);\n  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x409c,uVar18);\n  if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) || (daemon->worker_pool_size != 0)) {\n    iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar9 == 0) goto LAB_0001d46c;\n    iVar9 = (pMVar11->__data).__lock;\n    uVar18 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }\n  if (((int)unaff_s2 < 0x400) || ((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG))\n  {\n    pMVar11 = &daemon->per_ip_connection_mutex;\n    iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n    if (iVar9 != 0) {\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }\nLAB_0001daac:\n  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);\n  iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n  if (iVar9 != 0) {\n    piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar9 = *piVar10;\n    uVar18 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }\nLAB_0001d46c:\n  if (daemon->epoll_fd != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }\n  (*(code *)PTR_free_0003d250)(daemon->nnc);\n  iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(ap);\n  if (iVar9 != 0) goto LAB_0001e310;\n  if (((daemon->itc).fd != -1) && (iVar9 = (*(code *)PTR_close_0003d128)(), iVar9 != 0)) {\n    piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar18 = 0x19f0;\n    if (*piVar10 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(daemon);\n      daemon = (MHD_Daemon *)0x0;\n      goto LAB_0001d504;\n    }\n  }\nLAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(daemon);\n  daemon = (MHD_Daemon *)0x0;\nLAB_0001d504:\n  do {\n    if (iVar4 == *(int *)puVar3) {\n      return daemon;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar18 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar1 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar21 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x19b9;\n        if (*piVar10 == 9) goto LAB_0001db00;\n      }\n      iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n      uVar18 = 0x19ba;\n      if (iVar9 == 0) {\n        if (daemon->worker_pool != (MHD_Daemon *)0x0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    daemon->worker_pool_size = (uint)piVar21;\n    (*(code *)puVar1)(daemon);\n    unaff_s4 = pMVar11;\nLAB_0001d568:\n    pMVar11 = unaff_s4;\n    daemon = (MHD_Daemon *)0x0;\n  } while( true );\n}\n\n" comment (function_definition "MHD_Daemon *\nMHD_start_daemon_va(uint flags,uint16_t port,MHD_AcceptPolicyCallback apc,void *apc_cls,\n                   MHD_AccessHandlerCallback dh,void *dh_cls,va_list ap)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  MHD_Daemon *daemon;\n  MHD_Result MVar5;\n  MHD_FLAG MVar6;\n  uint uVar7;\n  MHD_NonceNc *pMVar8;\n  int iVar9;\n  int *piVar10;\n  MHD_mutex_ *pMVar11;\n  undefined4 *puVar12;\n  MHD_Daemon *pMVar13;\n  int iVar14;\n  code *pcVar15;\n  MHD_THREAD_START_ROUTINE_ start_routine;\n  MHD_Connection **ppMVar16;\n  undefined2 in_register_00000014;\n  char *thread_name;\n  MHD_Connection *pMVar17;\n  undefined4 uVar18;\n  MHD_Connection *pMVar19;\n  void *pvVar20;\n  int *piVar21;\n  MHD_FLAG unaff_s2;\n  MHD_mutex_ *unaff_s4;\n  MHD_mutex_ *pMVar22;\n  uint uVar23;\n  undefined4 *arg;\n  uint uVar24;\n  MHD_SCKT_OPT_BOOL_ on;\n  sockaddr *servaddr;\n  socklen_t addrlen;\n  MHD_SCKT_OPT_BOOL_ v6_only;\n  sockaddr_in servaddr4;\n  sockaddr_in6 servaddr6;\n  sockaddr_storage bindaddr;\n  \n  puVar3 = PTR___stack_chk_guard_0003d244;\n  pMVar11 = (MHD_mutex_ *)CONCAT22(in_register_00000014,port);\n  piVar21 = (int *)(flags & 2);\n  iVar4 = *(int *)PTR___stack_chk_guard_0003d244;\n  on = 1;\n  servaddr = (sockaddr *)0x0;\n  if (piVar21 != (int *)0x0) goto LAB_0001d568;\n  unaff_s2 = flags;\n  if ((flags & 0x8000) != 0) {\n    unaff_s2 = flags | MHD_ALLOW_SUSPEND_RESUME;\n  }\n  unaff_s4 = pMVar11;\n  if (dh == (MHD_AccessHandlerCallback)0x0) goto LAB_0001d568;\n  if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) == (MHD_USE_EPOLL|MHD_USE_POLL)) goto LAB_0001d568;\n  if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)) ==\n      (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)) goto LAB_0001d568;\n  if ((unaff_s2 & (MHD_USE_POLL_INTERNALLY|MHD_USE_THREAD_PER_CONNECTION)) == MHD_USE_POLL)\n  goto LAB_0001d568;\n  if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) goto LAB_0001d568;\n    if ((unaff_s2 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_EPOLL;\n    }\n    else {\n      unaff_s2 = unaff_s2 | MHD_USE_POLL;\n    }\n  }\n  daemon = (MHD_Daemon *)(*(code *)PTR_calloc_0003d120)(1,0x130);\n  if (daemon == (MHD_Daemon *)0x0) goto LAB_0001d568;\n  daemon->listening_address_reuse = 0;\n  daemon->epoll_fd = -1;\n  daemon->listen_fd = -1;\n  (daemon->itc).fd = -1;\n  daemon->connection_limit = 0x3fc;\n  daemon->listen_backlog_size = 0x80;\n  puVar1 = PTR_LAB_0003d054;\n  daemon->pool_size = 0x8000;\n  daemon->strict_for_client = (unaff_s2 << 0x1a) >> 0x1f;\n  daemon->pool_increment = 0x400;\n  puVar2 = PTR_LAB_0003d054;\n  daemon->custom_error_log = (MHD_LogCallback)(puVar1 + -0x7d68);\n  puVar1 = PTR_stderr_0003d258;\n  daemon->options = unaff_s2;\n  daemon->port = port;\n  daemon->apc = apc;\n  daemon->apc_cls = apc_cls;\n  daemon->default_handler = dh;\n  daemon->default_handler_cls = dh_cls;\n  daemon->connections = 0;\n  daemon->unescape_callback = (UnescapeCallback)(puVar2 + -0x7d48);\n  daemon->connection_timeout = 0;\n  daemon->custom_error_log_cls = *(void **)puVar1;\n  if ((unaff_s2 & (MHD_USE_INTERNAL_POLLING_THREAD|MHD_USE_THREAD_PER_CONNECTION)) ==\n      MHD_USE_THREAD_PER_CONNECTION) {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = daemon->options | MHD_USE_INTERNAL_POLLING_THREAD;\n    daemon->options = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_ITC;\n      daemon->options = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & MHD_USE_INTERNAL_POLLING_THREAD) != MHD_NO_FLAG) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & ~MHD_USE_ITC;\n    daemon->options = unaff_s2;\n  }\n  daemon->digest_auth_rand_size = 0;\n  daemon->digest_auth_random = (char *)0x0;\n  daemon->nonce_nc_size = 4;\n  MVar5 = parse_options_va(daemon,&servaddr,ap);\n  if (MVar5 != MHD_YES) goto LAB_0001d4f0;\n  MVar6 = daemon->options;\n  if ((daemon->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n     ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)) {\n    if ((MVar6 & MHD_USE_ITC) != MHD_NO_FLAG) {\n      uVar7 = daemon->worker_pool_size;\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    daemon->options = MVar6 | MHD_USE_ITC;\n    uVar7 = daemon->worker_pool_size;\nLAB_0001d2f4:\n    if (uVar7 == 0) {\n      iVar9 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      (daemon->itc).fd = iVar9;\n      if (iVar9 == -1) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);\n        goto LAB_0001d9f0;\n      }\n      if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9)) {\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);\n        iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);\n        if (iVar9 == 0) goto LAB_0001d4f0;\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x172d;\n        if (*piVar10 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }\n  uVar7 = daemon->nonce_nc_size;\n  if (uVar7 != 0) {\n    if (uVar7 != (uVar7 * 0x98) / 0x98) goto LAB_0001d9d8;\n    pMVar8 = (MHD_NonceNc *)(*(code *)PTR_malloc_0003d1e0)();\n    daemon->nnc = pMVar8;\n    if (pMVar8 == (MHD_NonceNc *)0x0) {\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x425c,uVar18);\n      goto LAB_0001d9f0;\n    }\n  }\n  ap = &daemon->nnc_lock;\n  iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(ap,0);\n  if (iVar9 != 0) {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(daemon->nnc);\n    goto LAB_0001d9f0;\n  }\n  MVar6 = daemon->options;\n  if (((MVar6 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) && (daemon->worker_pool_size != 0))\n  {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }\n  unaff_s2 = daemon->listen_fd;\n  if (unaff_s2 == ~MHD_NO_FLAG) {\n    if ((MVar6 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) goto LAB_0001d3c4;\n    iVar9 = 2;\n    if ((MVar6 & MHD_USE_IPv6) != MHD_NO_FLAG) {\n      iVar9 = 10;\n    }\n    unaff_s2 = MHD_socket_create_listen_(iVar9);\n    if (unaff_s2 == ~MHD_NO_FLAG) {\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x41b8,uVar18);\n      goto LAB_0001d46c;\n    }\n    if (daemon->listening_address_reuse == 0) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }\n    else if (0 < daemon->listening_address_reuse) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((daemon->options & MHD_USE_IPv6) == MHD_NO_FLAG) {\n      addrlen = 0x10;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr4.sin_addr.s_addr = 0;\n        servaddr4.sin_zero[0] = '\0';\n        servaddr4.sin_zero[1] = '\0';\n        servaddr4.sin_zero[2] = '\0';\n        servaddr4.sin_zero[3] = '\0';\n        servaddr4.sin_family = 2;\n        servaddr = (sockaddr *)&servaddr4;\n        servaddr4.sin_zero[4] = '\0';\n        servaddr4.sin_zero[5] = '\0';\n        servaddr4.sin_zero[6] = '\0';\n        servaddr4.sin_zero[7] = '\0';\n        daemon->listen_fd = unaff_s2;\n        servaddr4.sin_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n    }\n    else {\n      addrlen = 0x1c;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr6.sin6_flowinfo = 0;\n        servaddr6.sin6_scope_id = 0;\n        servaddr6.sin6_family = 10;\n        servaddr = (sockaddr *)&servaddr6;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;\n        daemon->listen_fd = unaff_s2;\n        servaddr6.sin6_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n      v6_only = (MHD_SCKT_OPT_BOOL_)((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&v6_only,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }\n    iVar9 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,servaddr,addrlen);\n    puVar1 = PTR_setsockopt_0003d284;\n    if (iVar9 == -1) {\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4174,pMVar11,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x184d;\n    }\n    else {\n      if ((daemon->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n        if (daemon->fastopen_queue_size == 0) {\n          daemon->fastopen_queue_size = 10;\n        }\n        iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4);\n        if (iVar9 != 0) {\n          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        }\n      }\n      iVar9 = (*(code *)PTR_listen_0003d16c)(unaff_s2,daemon->listen_backlog_size);\n      if (-1 < iVar9) goto LAB_0001d388;\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4154,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar9 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x412c,uVar18);\nLAB_0001d394:\n      iVar9 = MHD_socket_nonblocking_(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001da08;\n      MVar6 = daemon->options;\n      if ((0x3ff < (int)unaff_s2) && ((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG))\n      goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0)) {\n        if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        MVar5 = setup_epoll_to_listen(daemon);\n        if (MVar5 != MHD_YES) goto LAB_0001d46c;\n      }\n      pMVar11 = &daemon->per_ip_connection_mutex;\n      iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n      if (iVar9 == 0) {\nLAB_0001d824:\n        pMVar22 = &daemon->cleanup_connection_mutex;\n        iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);\n        if (iVar9 == 0) {\n          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;\n          uVar7 = daemon->worker_pool_size;\n          if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }\n          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);\n          if (iVar9 != 0) goto LAB_0001d504;\n          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n          uVar18 = 0x193b;\n          if (iVar9 != 0) goto LAB_0001e284;\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n          uVar18 = 0x193c;\n          if (iVar9 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;\n          iVar9 = *piVar21;\n          uVar18 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n        iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n        uVar18 = 0x190e;\n        if (iVar9 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar9 = *piVar10;\n          uVar18 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == ~MHD_NO_FLAG) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar9 = *piVar10;\n      uVar18 = 0x1904;\n    } while( true );\n  }\nLAB_0001d388:\n  if (daemon->port != 0) goto LAB_0001d394;\n  if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) goto LAB_0001d394;\n  uVar18 = (*(code *)PTR_memset_0003d19c)(&bindaddr,0,0x80);\n  addrlen = 0x80;\n  iVar9 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar18,&addrlen);\n  if (iVar9 != 0) goto LAB_0001db20;\n  if (0x80 < addrlen) {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }\n  if ((bindaddr.ss_family != 2) && (bindaddr.ss_family != 10)) {\n    if (bindaddr.ss_family != 1) {\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x40b8);\n    }\n    daemon->port = 0;\n    goto LAB_0001d394;\n  }\n  daemon->port = bindaddr.__ss_padding._0_2_;\n  goto LAB_0001d394;\nLAB_0001da08:\n  pMVar11 = (MHD_mutex_ *)(*(code *)PTR___errno_location_0003d198)();\n  uVar18 = (*(code *)PTR_strerror_0003d1dc)((pMVar11->__data).__lock);\n  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x409c,uVar18);\n  if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) || (daemon->worker_pool_size != 0)) {\n    iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar9 == 0) goto LAB_0001d46c;\n    iVar9 = (pMVar11->__data).__lock;\n    uVar18 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }\n  if (((int)unaff_s2 < 0x400) || ((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG))\n  {\n    pMVar11 = &daemon->per_ip_connection_mutex;\n    iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n    if (iVar9 != 0) {\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }\nLAB_0001daac:\n  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);\n  iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n  if (iVar9 != 0) {\n    piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar9 = *piVar10;\n    uVar18 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }\nLAB_0001d46c:\n  if (daemon->epoll_fd != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }\n  (*(code *)PTR_free_0003d250)(daemon->nnc);\n  iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(ap);\n  if (iVar9 != 0) goto LAB_0001e310;\n  if (((daemon->itc).fd != -1) && (iVar9 = (*(code *)PTR_close_0003d128)(), iVar9 != 0)) {\n    piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar18 = 0x19f0;\n    if (*piVar10 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(daemon);\n      daemon = (MHD_Daemon *)0x0;\n      goto LAB_0001d504;\n    }\n  }\nLAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(daemon);\n  daemon = (MHD_Daemon *)0x0;\nLAB_0001d504:\n  do {\n    if (iVar4 == *(int *)puVar3) {\n      return daemon;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar18 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar1 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar21 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x19b9;\n        if (*piVar10 == 9) goto LAB_0001db00;\n      }\n      iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n      uVar18 = 0x19ba;\n      if (iVar9 == 0) {\n        if (daemon->worker_pool != (MHD_Daemon *)0x0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    daemon->worker_pool_size = (uint)piVar21;\n    (*(code *)puVar1)(daemon);\n    unaff_s4 = pMVar11;\nLAB_0001d568:\n    pMVar11 = unaff_s4;\n    daemon = (MHD_Daemon *)0x0;\n  } while( true );\n}" type_identifier (pointer_declarator "*\nMHD_start_daemon_va(uint flags,uint16_t port,MHD_AcceptPolicyCallback apc,void *apc_cls,\n                   MHD_AccessHandlerCallback dh,void *dh_cls,va_list ap)" * (function_declarator "MHD_start_daemon_va(uint flags,uint16_t port,MHD_AcceptPolicyCallback apc,void *apc_cls,\n                   MHD_AccessHandlerCallback dh,void *dh_cls,va_list ap)" identifier (parameter_list "(uint flags,uint16_t port,MHD_AcceptPolicyCallback apc,void *apc_cls,\n                   MHD_AccessHandlerCallback dh,void *dh_cls,va_list ap)" ( (parameter_declaration "uint flags" type_identifier identifier) , (parameter_declaration "uint16_t port" primitive_type identifier) , (parameter_declaration "MHD_AcceptPolicyCallback apc" type_identifier identifier) , (parameter_declaration "void *apc_cls" primitive_type (pointer_declarator "*apc_cls" * identifier)) , (parameter_declaration "MHD_AccessHandlerCallback dh" type_identifier identifier) , (parameter_declaration "void *dh_cls" primitive_type (pointer_declarator "*dh_cls" * identifier)) , (parameter_declaration "va_list ap" type_identifier identifier) )))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  int iVar4;\n  MHD_Daemon *daemon;\n  MHD_Result MVar5;\n  MHD_FLAG MVar6;\n  uint uVar7;\n  MHD_NonceNc *pMVar8;\n  int iVar9;\n  int *piVar10;\n  MHD_mutex_ *pMVar11;\n  undefined4 *puVar12;\n  MHD_Daemon *pMVar13;\n  int iVar14;\n  code *pcVar15;\n  MHD_THREAD_START_ROUTINE_ start_routine;\n  MHD_Connection **ppMVar16;\n  undefined2 in_register_00000014;\n  char *thread_name;\n  MHD_Connection *pMVar17;\n  undefined4 uVar18;\n  MHD_Connection *pMVar19;\n  void *pvVar20;\n  int *piVar21;\n  MHD_FLAG unaff_s2;\n  MHD_mutex_ *unaff_s4;\n  MHD_mutex_ *pMVar22;\n  uint uVar23;\n  undefined4 *arg;\n  uint uVar24;\n  MHD_SCKT_OPT_BOOL_ on;\n  sockaddr *servaddr;\n  socklen_t addrlen;\n  MHD_SCKT_OPT_BOOL_ v6_only;\n  sockaddr_in servaddr4;\n  sockaddr_in6 servaddr6;\n  sockaddr_storage bindaddr;\n  \n  puVar3 = PTR___stack_chk_guard_0003d244;\n  pMVar11 = (MHD_mutex_ *)CONCAT22(in_register_00000014,port);\n  piVar21 = (int *)(flags & 2);\n  iVar4 = *(int *)PTR___stack_chk_guard_0003d244;\n  on = 1;\n  servaddr = (sockaddr *)0x0;\n  if (piVar21 != (int *)0x0) goto LAB_0001d568;\n  unaff_s2 = flags;\n  if ((flags & 0x8000) != 0) {\n    unaff_s2 = flags | MHD_ALLOW_SUSPEND_RESUME;\n  }\n  unaff_s4 = pMVar11;\n  if (dh == (MHD_AccessHandlerCallback)0x0) goto LAB_0001d568;\n  if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) == (MHD_USE_EPOLL|MHD_USE_POLL)) goto LAB_0001d568;\n  if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)) ==\n      (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)) goto LAB_0001d568;\n  if ((unaff_s2 & (MHD_USE_POLL_INTERNALLY|MHD_USE_THREAD_PER_CONNECTION)) == MHD_USE_POLL)\n  goto LAB_0001d568;\n  if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) goto LAB_0001d568;\n    if ((unaff_s2 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_EPOLL;\n    }\n    else {\n      unaff_s2 = unaff_s2 | MHD_USE_POLL;\n    }\n  }\n  daemon = (MHD_Daemon *)(*(code *)PTR_calloc_0003d120)(1,0x130);\n  if (daemon == (MHD_Daemon *)0x0) goto LAB_0001d568;\n  daemon->listening_address_reuse = 0;\n  daemon->epoll_fd = -1;\n  daemon->listen_fd = -1;\n  (daemon->itc).fd = -1;\n  daemon->connection_limit = 0x3fc;\n  daemon->listen_backlog_size = 0x80;\n  puVar1 = PTR_LAB_0003d054;\n  daemon->pool_size = 0x8000;\n  daemon->strict_for_client = (unaff_s2 << 0x1a) >> 0x1f;\n  daemon->pool_increment = 0x400;\n  puVar2 = PTR_LAB_0003d054;\n  daemon->custom_error_log = (MHD_LogCallback)(puVar1 + -0x7d68);\n  puVar1 = PTR_stderr_0003d258;\n  daemon->options = unaff_s2;\n  daemon->port = port;\n  daemon->apc = apc;\n  daemon->apc_cls = apc_cls;\n  daemon->default_handler = dh;\n  daemon->default_handler_cls = dh_cls;\n  daemon->connections = 0;\n  daemon->unescape_callback = (UnescapeCallback)(puVar2 + -0x7d48);\n  daemon->connection_timeout = 0;\n  daemon->custom_error_log_cls = *(void **)puVar1;\n  if ((unaff_s2 & (MHD_USE_INTERNAL_POLLING_THREAD|MHD_USE_THREAD_PER_CONNECTION)) ==\n      MHD_USE_THREAD_PER_CONNECTION) {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = daemon->options | MHD_USE_INTERNAL_POLLING_THREAD;\n    daemon->options = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_ITC;\n      daemon->options = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & MHD_USE_INTERNAL_POLLING_THREAD) != MHD_NO_FLAG) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & ~MHD_USE_ITC;\n    daemon->options = unaff_s2;\n  }\n  daemon->digest_auth_rand_size = 0;\n  daemon->digest_auth_random = (char *)0x0;\n  daemon->nonce_nc_size = 4;\n  MVar5 = parse_options_va(daemon,&servaddr,ap);\n  if (MVar5 != MHD_YES) goto LAB_0001d4f0;\n  MVar6 = daemon->options;\n  if ((daemon->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n     ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)) {\n    if ((MVar6 & MHD_USE_ITC) != MHD_NO_FLAG) {\n      uVar7 = daemon->worker_pool_size;\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    daemon->options = MVar6 | MHD_USE_ITC;\n    uVar7 = daemon->worker_pool_size;\nLAB_0001d2f4:\n    if (uVar7 == 0) {\n      iVar9 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      (daemon->itc).fd = iVar9;\n      if (iVar9 == -1) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);\n        goto LAB_0001d9f0;\n      }\n      if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9)) {\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);\n        iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);\n        if (iVar9 == 0) goto LAB_0001d4f0;\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x172d;\n        if (*piVar10 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }\n  uVar7 = daemon->nonce_nc_size;\n  if (uVar7 != 0) {\n    if (uVar7 != (uVar7 * 0x98) / 0x98) goto LAB_0001d9d8;\n    pMVar8 = (MHD_NonceNc *)(*(code *)PTR_malloc_0003d1e0)();\n    daemon->nnc = pMVar8;\n    if (pMVar8 == (MHD_NonceNc *)0x0) {\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x425c,uVar18);\n      goto LAB_0001d9f0;\n    }\n  }\n  ap = &daemon->nnc_lock;\n  iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(ap,0);\n  if (iVar9 != 0) {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(daemon->nnc);\n    goto LAB_0001d9f0;\n  }\n  MVar6 = daemon->options;\n  if (((MVar6 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) && (daemon->worker_pool_size != 0))\n  {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }\n  unaff_s2 = daemon->listen_fd;\n  if (unaff_s2 == ~MHD_NO_FLAG) {\n    if ((MVar6 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) goto LAB_0001d3c4;\n    iVar9 = 2;\n    if ((MVar6 & MHD_USE_IPv6) != MHD_NO_FLAG) {\n      iVar9 = 10;\n    }\n    unaff_s2 = MHD_socket_create_listen_(iVar9);\n    if (unaff_s2 == ~MHD_NO_FLAG) {\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x41b8,uVar18);\n      goto LAB_0001d46c;\n    }\n    if (daemon->listening_address_reuse == 0) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }\n    else if (0 < daemon->listening_address_reuse) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((daemon->options & MHD_USE_IPv6) == MHD_NO_FLAG) {\n      addrlen = 0x10;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr4.sin_addr.s_addr = 0;\n        servaddr4.sin_zero[0] = '\0';\n        servaddr4.sin_zero[1] = '\0';\n        servaddr4.sin_zero[2] = '\0';\n        servaddr4.sin_zero[3] = '\0';\n        servaddr4.sin_family = 2;\n        servaddr = (sockaddr *)&servaddr4;\n        servaddr4.sin_zero[4] = '\0';\n        servaddr4.sin_zero[5] = '\0';\n        servaddr4.sin_zero[6] = '\0';\n        servaddr4.sin_zero[7] = '\0';\n        daemon->listen_fd = unaff_s2;\n        servaddr4.sin_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n    }\n    else {\n      addrlen = 0x1c;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr6.sin6_flowinfo = 0;\n        servaddr6.sin6_scope_id = 0;\n        servaddr6.sin6_family = 10;\n        servaddr = (sockaddr *)&servaddr6;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;\n        daemon->listen_fd = unaff_s2;\n        servaddr6.sin6_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n      v6_only = (MHD_SCKT_OPT_BOOL_)((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&v6_only,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }\n    iVar9 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,servaddr,addrlen);\n    puVar1 = PTR_setsockopt_0003d284;\n    if (iVar9 == -1) {\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4174,pMVar11,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x184d;\n    }\n    else {\n      if ((daemon->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n        if (daemon->fastopen_queue_size == 0) {\n          daemon->fastopen_queue_size = 10;\n        }\n        iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4);\n        if (iVar9 != 0) {\n          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        }\n      }\n      iVar9 = (*(code *)PTR_listen_0003d16c)(unaff_s2,daemon->listen_backlog_size);\n      if (-1 < iVar9) goto LAB_0001d388;\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4154,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar9 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x412c,uVar18);\nLAB_0001d394:\n      iVar9 = MHD_socket_nonblocking_(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001da08;\n      MVar6 = daemon->options;\n      if ((0x3ff < (int)unaff_s2) && ((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG))\n      goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0)) {\n        if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        MVar5 = setup_epoll_to_listen(daemon);\n        if (MVar5 != MHD_YES) goto LAB_0001d46c;\n      }\n      pMVar11 = &daemon->per_ip_connection_mutex;\n      iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n      if (iVar9 == 0) {\nLAB_0001d824:\n        pMVar22 = &daemon->cleanup_connection_mutex;\n        iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);\n        if (iVar9 == 0) {\n          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;\n          uVar7 = daemon->worker_pool_size;\n          if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }\n          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);\n          if (iVar9 != 0) goto LAB_0001d504;\n          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n          uVar18 = 0x193b;\n          if (iVar9 != 0) goto LAB_0001e284;\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n          uVar18 = 0x193c;\n          if (iVar9 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;\n          iVar9 = *piVar21;\n          uVar18 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n        iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n        uVar18 = 0x190e;\n        if (iVar9 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar9 = *piVar10;\n          uVar18 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == ~MHD_NO_FLAG) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar9 = *piVar10;\n      uVar18 = 0x1904;\n    } while( true );\n  }\nLAB_0001d388:\n  if (daemon->port != 0) goto LAB_0001d394;\n  if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) goto LAB_0001d394;\n  uVar18 = (*(code *)PTR_memset_0003d19c)(&bindaddr,0,0x80);\n  addrlen = 0x80;\n  iVar9 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar18,&addrlen);\n  if (iVar9 != 0) goto LAB_0001db20;\n  if (0x80 < addrlen) {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }\n  if ((bindaddr.ss_family != 2) && (bindaddr.ss_family != 10)) {\n    if (bindaddr.ss_family != 1) {\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x40b8);\n    }\n    daemon->port = 0;\n    goto LAB_0001d394;\n  }\n  daemon->port = bindaddr.__ss_padding._0_2_;\n  goto LAB_0001d394;\nLAB_0001da08:\n  pMVar11 = (MHD_mutex_ *)(*(code *)PTR___errno_location_0003d198)();\n  uVar18 = (*(code *)PTR_strerror_0003d1dc)((pMVar11->__data).__lock);\n  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x409c,uVar18);\n  if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) || (daemon->worker_pool_size != 0)) {\n    iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar9 == 0) goto LAB_0001d46c;\n    iVar9 = (pMVar11->__data).__lock;\n    uVar18 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }\n  if (((int)unaff_s2 < 0x400) || ((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG))\n  {\n    pMVar11 = &daemon->per_ip_connection_mutex;\n    iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n    if (iVar9 != 0) {\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }\nLAB_0001daac:\n  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);\n  iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n  if (iVar9 != 0) {\n    piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar9 = *piVar10;\n    uVar18 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }\nLAB_0001d46c:\n  if (daemon->epoll_fd != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }\n  (*(code *)PTR_free_0003d250)(daemon->nnc);\n  iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(ap);\n  if (iVar9 != 0) goto LAB_0001e310;\n  if (((daemon->itc).fd != -1) && (iVar9 = (*(code *)PTR_close_0003d128)(), iVar9 != 0)) {\n    piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar18 = 0x19f0;\n    if (*piVar10 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(daemon);\n      daemon = (MHD_Daemon *)0x0;\n      goto LAB_0001d504;\n    }\n  }\nLAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(daemon);\n  daemon = (MHD_Daemon *)0x0;\nLAB_0001d504:\n  do {\n    if (iVar4 == *(int *)puVar3) {\n      return daemon;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar18 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar1 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar21 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x19b9;\n        if (*piVar10 == 9) goto LAB_0001db00;\n      }\n      iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n      uVar18 = 0x19ba;\n      if (iVar9 == 0) {\n        if (daemon->worker_pool != (MHD_Daemon *)0x0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    daemon->worker_pool_size = (uint)piVar21;\n    (*(code *)puVar1)(daemon);\n    unaff_s4 = pMVar11;\nLAB_0001d568:\n    pMVar11 = unaff_s4;\n    daemon = (MHD_Daemon *)0x0;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "MHD_Daemon *daemon;" type_identifier (pointer_declarator "*daemon" * identifier) ;) (declaration "MHD_Result MVar5;" type_identifier identifier ;) (declaration "MHD_FLAG MVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "MHD_NonceNc *pMVar8;" type_identifier (pointer_declarator "*pMVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "MHD_mutex_ *pMVar11;" type_identifier (pointer_declarator "*pMVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "MHD_Daemon *pMVar13;" type_identifier (pointer_declarator "*pMVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "code *pcVar15;" type_identifier (pointer_declarator "*pcVar15" * identifier) ;) (declaration "MHD_THREAD_START_ROUTINE_ start_routine;" type_identifier identifier ;) (declaration "MHD_Connection **ppMVar16;" type_identifier (pointer_declarator "**ppMVar16" * (pointer_declarator "*ppMVar16" * identifier)) ;) (declaration "undefined2 in_register_00000014;" type_identifier identifier ;) (declaration "char *thread_name;" primitive_type (pointer_declarator "*thread_name" * identifier) ;) (declaration "MHD_Connection *pMVar17;" type_identifier (pointer_declarator "*pMVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "MHD_Connection *pMVar19;" type_identifier (pointer_declarator "*pMVar19" * identifier) ;) (declaration "void *pvVar20;" primitive_type (pointer_declarator "*pvVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "MHD_FLAG unaff_s2;" type_identifier identifier ;) (declaration "MHD_mutex_ *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "MHD_mutex_ *pMVar22;" type_identifier (pointer_declarator "*pMVar22" * identifier) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "undefined4 *arg;" type_identifier (pointer_declarator "*arg" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "MHD_SCKT_OPT_BOOL_ on;" type_identifier identifier ;) (declaration "sockaddr *servaddr;" type_identifier (pointer_declarator "*servaddr" * identifier) ;) (declaration "socklen_t addrlen;" type_identifier identifier ;) (declaration "MHD_SCKT_OPT_BOOL_ v6_only;" type_identifier identifier ;) (declaration "sockaddr_in servaddr4;" type_identifier identifier ;) (declaration "sockaddr_in6 servaddr6;" type_identifier identifier ;) (declaration "sockaddr_storage bindaddr;" type_identifier identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_0003d244;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0003d244" identifier = identifier) ;) (expression_statement "pMVar11 = (MHD_mutex_ *)CONCAT22(in_register_00000014,port);" (assignment_expression "pMVar11 = (MHD_mutex_ *)CONCAT22(in_register_00000014,port)" identifier = (cast_expression "(MHD_mutex_ *)CONCAT22(in_register_00000014,port)" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT22(in_register_00000014,port)" identifier (argument_list "(in_register_00000014,port)" ( identifier , identifier ))))) ;) (expression_statement "piVar21 = (int *)(flags & 2);" (assignment_expression "piVar21 = (int *)(flags & 2)" identifier = (cast_expression "(int *)(flags & 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(flags & 2)" ( (binary_expression "flags & 2" identifier & number_literal) )))) ;) (expression_statement "iVar4 = *(int *)PTR___stack_chk_guard_0003d244;" (assignment_expression "iVar4 = *(int *)PTR___stack_chk_guard_0003d244" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0003d244" * (cast_expression "(int *)PTR___stack_chk_guard_0003d244" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "on = 1;" (assignment_expression "on = 1" identifier = number_literal) ;) (expression_statement "servaddr = (sockaddr *)0x0;" (assignment_expression "servaddr = (sockaddr *)0x0" identifier = (cast_expression "(sockaddr *)0x0" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar21 != (int *)0x0) goto LAB_0001d568;" if (parenthesized_expression "(piVar21 != (int *)0x0)" ( (binary_expression "piVar21 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (expression_statement "unaff_s2 = flags;" (assignment_expression "unaff_s2 = flags" identifier = identifier) ;) (if_statement "if ((flags & 0x8000) != 0) {\n    unaff_s2 = flags | MHD_ALLOW_SUSPEND_RESUME;\n  }" if (parenthesized_expression "((flags & 0x8000) != 0)" ( (binary_expression "(flags & 0x8000) != 0" (parenthesized_expression "(flags & 0x8000)" ( (binary_expression "flags & 0x8000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    unaff_s2 = flags | MHD_ALLOW_SUSPEND_RESUME;\n  }" { (expression_statement "unaff_s2 = flags | MHD_ALLOW_SUSPEND_RESUME;" (assignment_expression "unaff_s2 = flags | MHD_ALLOW_SUSPEND_RESUME" identifier = (binary_expression "flags | MHD_ALLOW_SUSPEND_RESUME" identifier | identifier)) ;) })) (expression_statement "unaff_s4 = pMVar11;" (assignment_expression "unaff_s4 = pMVar11" identifier = identifier) ;) (if_statement "if (dh == (MHD_AccessHandlerCallback)0x0) goto LAB_0001d568;" if (parenthesized_expression "(dh == (MHD_AccessHandlerCallback)0x0)" ( (binary_expression "dh == (MHD_AccessHandlerCallback)0x0" identifier == (cast_expression "(MHD_AccessHandlerCallback)0x0" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) == (MHD_USE_EPOLL|MHD_USE_POLL)) goto LAB_0001d568;" if (parenthesized_expression "((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) == (MHD_USE_EPOLL|MHD_USE_POLL))" ( (binary_expression "(unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) == (MHD_USE_EPOLL|MHD_USE_POLL)" (parenthesized_expression "(unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL))" ( (binary_expression "unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)" identifier & (parenthesized_expression "(MHD_USE_EPOLL|MHD_USE_POLL)" ( (binary_expression "MHD_USE_EPOLL|MHD_USE_POLL" identifier | identifier) ))) )) == (parenthesized_expression "(MHD_USE_EPOLL|MHD_USE_POLL)" ( (binary_expression "MHD_USE_EPOLL|MHD_USE_POLL" identifier | identifier) ))) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)) ==\n      (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)) goto LAB_0001d568;" if (parenthesized_expression "((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)) ==\n      (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION))" ( (binary_expression "(unaff_s2 & (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)) ==\n      (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)" (parenthesized_expression "(unaff_s2 & (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION))" ( (binary_expression "unaff_s2 & (MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)" identifier & (parenthesized_expression "(MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION" identifier | identifier) ))) )) == (parenthesized_expression "(MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "MHD_USE_EPOLL|MHD_USE_THREAD_PER_CONNECTION" identifier | identifier) ))) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 & (MHD_USE_POLL_INTERNALLY|MHD_USE_THREAD_PER_CONNECTION)) == MHD_USE_POLL)\n  goto LAB_0001d568;" if (parenthesized_expression "((unaff_s2 & (MHD_USE_POLL_INTERNALLY|MHD_USE_THREAD_PER_CONNECTION)) == MHD_USE_POLL)" ( (binary_expression "(unaff_s2 & (MHD_USE_POLL_INTERNALLY|MHD_USE_THREAD_PER_CONNECTION)) == MHD_USE_POLL" (parenthesized_expression "(unaff_s2 & (MHD_USE_POLL_INTERNALLY|MHD_USE_THREAD_PER_CONNECTION))" ( (binary_expression "unaff_s2 & (MHD_USE_POLL_INTERNALLY|MHD_USE_THREAD_PER_CONNECTION)" identifier & (parenthesized_expression "(MHD_USE_POLL_INTERNALLY|MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "MHD_USE_POLL_INTERNALLY|MHD_USE_THREAD_PER_CONNECTION" identifier | identifier) ))) )) == identifier) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) goto LAB_0001d568;\n    if ((unaff_s2 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_EPOLL;\n    }\n    else {\n      unaff_s2 = unaff_s2 | MHD_USE_POLL;\n    }\n  }" if (parenthesized_expression "((int)(unaff_s2 << 0xf) < 0)" ( (binary_expression "(int)(unaff_s2 << 0xf) < 0" (cast_expression "(int)(unaff_s2 << 0xf)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 << 0xf)" ( (binary_expression "unaff_s2 << 0xf" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n    if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) goto LAB_0001d568;\n    if ((unaff_s2 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_EPOLL;\n    }\n    else {\n      unaff_s2 = unaff_s2 | MHD_USE_POLL;\n    }\n  }" { (if_statement "if ((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) goto LAB_0001d568;" if (parenthesized_expression "((unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)" ( (binary_expression "(unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG" (parenthesized_expression "(unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL))" ( (binary_expression "unaff_s2 & (MHD_USE_EPOLL|MHD_USE_POLL)" identifier & (parenthesized_expression "(MHD_USE_EPOLL|MHD_USE_POLL)" ( (binary_expression "MHD_USE_EPOLL|MHD_USE_POLL" identifier | identifier) ))) )) != identifier) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_EPOLL;\n    }\n    else {\n      unaff_s2 = unaff_s2 | MHD_USE_POLL;\n    }" if (parenthesized_expression "((unaff_s2 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)" ( (binary_expression "(unaff_s2 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG" (parenthesized_expression "(unaff_s2 & MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "unaff_s2 & MHD_USE_THREAD_PER_CONNECTION" identifier & identifier) )) == identifier) )) (compound_statement "{\n      unaff_s2 = unaff_s2 | MHD_USE_EPOLL;\n    }" { (expression_statement "unaff_s2 = unaff_s2 | MHD_USE_EPOLL;" (assignment_expression "unaff_s2 = unaff_s2 | MHD_USE_EPOLL" identifier = (binary_expression "unaff_s2 | MHD_USE_EPOLL" identifier | identifier)) ;) }) (else_clause "else {\n      unaff_s2 = unaff_s2 | MHD_USE_POLL;\n    }" else (compound_statement "{\n      unaff_s2 = unaff_s2 | MHD_USE_POLL;\n    }" { (expression_statement "unaff_s2 = unaff_s2 | MHD_USE_POLL;" (assignment_expression "unaff_s2 = unaff_s2 | MHD_USE_POLL" identifier = (binary_expression "unaff_s2 | MHD_USE_POLL" identifier | identifier)) ;) }))) })) (expression_statement "daemon = (MHD_Daemon *)(*(code *)PTR_calloc_0003d120)(1,0x130);" (assignment_expression "daemon = (MHD_Daemon *)(*(code *)PTR_calloc_0003d120)(1,0x130)" identifier = (cast_expression "(MHD_Daemon *)(*(code *)PTR_calloc_0003d120)(1,0x130)" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_calloc_0003d120)(1,0x130)" (parenthesized_expression "(*(code *)PTR_calloc_0003d120)" ( (pointer_expression "*(code *)PTR_calloc_0003d120" * (cast_expression "(code *)PTR_calloc_0003d120" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,0x130)" ( number_literal , number_literal ))))) ;) (if_statement "if (daemon == (MHD_Daemon *)0x0) goto LAB_0001d568;" if (parenthesized_expression "(daemon == (MHD_Daemon *)0x0)" ( (binary_expression "daemon == (MHD_Daemon *)0x0" identifier == (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (expression_statement "daemon->listening_address_reuse = 0;" (assignment_expression "daemon->listening_address_reuse = 0" (field_expression "daemon->listening_address_reuse" identifier -> field_identifier) = number_literal) ;) (expression_statement "daemon->epoll_fd = -1;" (assignment_expression "daemon->epoll_fd = -1" (field_expression "daemon->epoll_fd" identifier -> field_identifier) = number_literal) ;) (expression_statement "daemon->listen_fd = -1;" (assignment_expression "daemon->listen_fd = -1" (field_expression "daemon->listen_fd" identifier -> field_identifier) = number_literal) ;) (expression_statement "(daemon->itc).fd = -1;" (assignment_expression "(daemon->itc).fd = -1" (field_expression "(daemon->itc).fd" (parenthesized_expression "(daemon->itc)" ( (field_expression "daemon->itc" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "daemon->connection_limit = 0x3fc;" (assignment_expression "daemon->connection_limit = 0x3fc" (field_expression "daemon->connection_limit" identifier -> field_identifier) = number_literal) ;) (expression_statement "daemon->listen_backlog_size = 0x80;" (assignment_expression "daemon->listen_backlog_size = 0x80" (field_expression "daemon->listen_backlog_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "puVar1 = PTR_LAB_0003d054;" (assignment_expression "puVar1 = PTR_LAB_0003d054" identifier = identifier) ;) (expression_statement "daemon->pool_size = 0x8000;" (assignment_expression "daemon->pool_size = 0x8000" (field_expression "daemon->pool_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "daemon->strict_for_client = (unaff_s2 << 0x1a) >> 0x1f;" (assignment_expression "daemon->strict_for_client = (unaff_s2 << 0x1a) >> 0x1f" (field_expression "daemon->strict_for_client" identifier -> field_identifier) = (binary_expression "(unaff_s2 << 0x1a) >> 0x1f" (parenthesized_expression "(unaff_s2 << 0x1a)" ( (binary_expression "unaff_s2 << 0x1a" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "daemon->pool_increment = 0x400;" (assignment_expression "daemon->pool_increment = 0x400" (field_expression "daemon->pool_increment" identifier -> field_identifier) = number_literal) ;) (expression_statement "puVar2 = PTR_LAB_0003d054;" (assignment_expression "puVar2 = PTR_LAB_0003d054" identifier = identifier) ;) (expression_statement "daemon->custom_error_log = (MHD_LogCallback)(puVar1 + -0x7d68);" (assignment_expression "daemon->custom_error_log = (MHD_LogCallback)(puVar1 + -0x7d68)" (field_expression "daemon->custom_error_log" identifier -> field_identifier) = (call_expression "(MHD_LogCallback)(puVar1 + -0x7d68)" (parenthesized_expression "(MHD_LogCallback)" ( identifier )) (argument_list "(puVar1 + -0x7d68)" ( (binary_expression "puVar1 + -0x7d68" identifier + number_literal) )))) ;) (expression_statement "puVar1 = PTR_stderr_0003d258;" (assignment_expression "puVar1 = PTR_stderr_0003d258" identifier = identifier) ;) (expression_statement "daemon->options = unaff_s2;" (assignment_expression "daemon->options = unaff_s2" (field_expression "daemon->options" identifier -> field_identifier) = identifier) ;) (expression_statement "daemon->port = port;" (assignment_expression "daemon->port = port" (field_expression "daemon->port" identifier -> field_identifier) = identifier) ;) (expression_statement "daemon->apc = apc;" (assignment_expression "daemon->apc = apc" (field_expression "daemon->apc" identifier -> field_identifier) = identifier) ;) (expression_statement "daemon->apc_cls = apc_cls;" (assignment_expression "daemon->apc_cls = apc_cls" (field_expression "daemon->apc_cls" identifier -> field_identifier) = identifier) ;) (expression_statement "daemon->default_handler = dh;" (assignment_expression "daemon->default_handler = dh" (field_expression "daemon->default_handler" identifier -> field_identifier) = identifier) ;) (expression_statement "daemon->default_handler_cls = dh_cls;" (assignment_expression "daemon->default_handler_cls = dh_cls" (field_expression "daemon->default_handler_cls" identifier -> field_identifier) = identifier) ;) (expression_statement "daemon->connections = 0;" (assignment_expression "daemon->connections = 0" (field_expression "daemon->connections" identifier -> field_identifier) = number_literal) ;) (expression_statement "daemon->unescape_callback = (UnescapeCallback)(puVar2 + -0x7d48);" (assignment_expression "daemon->unescape_callback = (UnescapeCallback)(puVar2 + -0x7d48)" (field_expression "daemon->unescape_callback" identifier -> field_identifier) = (call_expression "(UnescapeCallback)(puVar2 + -0x7d48)" (parenthesized_expression "(UnescapeCallback)" ( identifier )) (argument_list "(puVar2 + -0x7d48)" ( (binary_expression "puVar2 + -0x7d48" identifier + number_literal) )))) ;) (expression_statement "daemon->connection_timeout = 0;" (assignment_expression "daemon->connection_timeout = 0" (field_expression "daemon->connection_timeout" identifier -> field_identifier) = number_literal) ;) (expression_statement "daemon->custom_error_log_cls = *(void **)puVar1;" (assignment_expression "daemon->custom_error_log_cls = *(void **)puVar1" (field_expression "daemon->custom_error_log_cls" identifier -> field_identifier) = (pointer_expression "*(void **)puVar1" * (cast_expression "(void **)puVar1" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((unaff_s2 & (MHD_USE_INTERNAL_POLLING_THREAD|MHD_USE_THREAD_PER_CONNECTION)) ==\n      MHD_USE_THREAD_PER_CONNECTION) {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = daemon->options | MHD_USE_INTERNAL_POLLING_THREAD;\n    daemon->options = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_ITC;\n      daemon->options = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & MHD_USE_INTERNAL_POLLING_THREAD) != MHD_NO_FLAG) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & ~MHD_USE_ITC;\n    daemon->options = unaff_s2;\n  }" if (parenthesized_expression "((unaff_s2 & (MHD_USE_INTERNAL_POLLING_THREAD|MHD_USE_THREAD_PER_CONNECTION)) ==\n      MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "(unaff_s2 & (MHD_USE_INTERNAL_POLLING_THREAD|MHD_USE_THREAD_PER_CONNECTION)) ==\n      MHD_USE_THREAD_PER_CONNECTION" (parenthesized_expression "(unaff_s2 & (MHD_USE_INTERNAL_POLLING_THREAD|MHD_USE_THREAD_PER_CONNECTION))" ( (binary_expression "unaff_s2 & (MHD_USE_INTERNAL_POLLING_THREAD|MHD_USE_THREAD_PER_CONNECTION)" identifier & (parenthesized_expression "(MHD_USE_INTERNAL_POLLING_THREAD|MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "MHD_USE_INTERNAL_POLLING_THREAD|MHD_USE_THREAD_PER_CONNECTION" identifier | identifier) ))) )) == identifier) )) (compound_statement "{\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = daemon->options | MHD_USE_INTERNAL_POLLING_THREAD;\n    daemon->options = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_ITC;\n      daemon->options = unaff_s2;\n    }\n  }" { (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x43e0);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x43e0)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x43e0)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x43e0" identifier + number_literal) ))) ;) (expression_statement "unaff_s2 = daemon->options | MHD_USE_INTERNAL_POLLING_THREAD;" (assignment_expression "unaff_s2 = daemon->options | MHD_USE_INTERNAL_POLLING_THREAD" identifier = (binary_expression "daemon->options | MHD_USE_INTERNAL_POLLING_THREAD" (field_expression "daemon->options" identifier -> field_identifier) | identifier)) ;) (expression_statement "daemon->options = unaff_s2;" (assignment_expression "daemon->options = unaff_s2" (field_expression "daemon->options" identifier -> field_identifier) = identifier) ;) (labeled_statement "LAB_0001d440:\n    if ((unaff_s2 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_ITC;\n      daemon->options = unaff_s2;\n    }" statement_identifier : (if_statement "if ((unaff_s2 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) {\n      unaff_s2 = unaff_s2 | MHD_USE_ITC;\n      daemon->options = unaff_s2;\n    }" if (parenthesized_expression "((unaff_s2 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG)" ( (binary_expression "(unaff_s2 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG" (parenthesized_expression "(unaff_s2 & MHD_USE_NO_LISTEN_SOCKET)" ( (binary_expression "unaff_s2 & MHD_USE_NO_LISTEN_SOCKET" identifier & identifier) )) != identifier) )) (compound_statement "{\n      unaff_s2 = unaff_s2 | MHD_USE_ITC;\n      daemon->options = unaff_s2;\n    }" { (expression_statement "unaff_s2 = unaff_s2 | MHD_USE_ITC;" (assignment_expression "unaff_s2 = unaff_s2 | MHD_USE_ITC" identifier = (binary_expression "unaff_s2 | MHD_USE_ITC" identifier | identifier)) ;) (expression_statement "daemon->options = unaff_s2;" (assignment_expression "daemon->options = unaff_s2" (field_expression "daemon->options" identifier -> field_identifier) = identifier) ;) }))) }) (else_clause "else {\n    if ((unaff_s2 & MHD_USE_INTERNAL_POLLING_THREAD) != MHD_NO_FLAG) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & ~MHD_USE_ITC;\n    daemon->options = unaff_s2;\n  }" else (compound_statement "{\n    if ((unaff_s2 & MHD_USE_INTERNAL_POLLING_THREAD) != MHD_NO_FLAG) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & ~MHD_USE_ITC;\n    daemon->options = unaff_s2;\n  }" { (if_statement "if ((unaff_s2 & MHD_USE_INTERNAL_POLLING_THREAD) != MHD_NO_FLAG) goto LAB_0001d440;" if (parenthesized_expression "((unaff_s2 & MHD_USE_INTERNAL_POLLING_THREAD) != MHD_NO_FLAG)" ( (binary_expression "(unaff_s2 & MHD_USE_INTERNAL_POLLING_THREAD) != MHD_NO_FLAG" (parenthesized_expression "(unaff_s2 & MHD_USE_INTERNAL_POLLING_THREAD)" ( (binary_expression "unaff_s2 & MHD_USE_INTERNAL_POLLING_THREAD" identifier & identifier) )) != identifier) )) (goto_statement "goto LAB_0001d440;" goto statement_identifier ;)) (expression_statement "unaff_s2 = unaff_s2 & ~MHD_USE_ITC;" (assignment_expression "unaff_s2 = unaff_s2 & ~MHD_USE_ITC" identifier = (binary_expression "unaff_s2 & ~MHD_USE_ITC" identifier & (unary_expression "~MHD_USE_ITC" ~ identifier))) ;) (expression_statement "daemon->options = unaff_s2;" (assignment_expression "daemon->options = unaff_s2" (field_expression "daemon->options" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "daemon->digest_auth_rand_size = 0;" (assignment_expression "daemon->digest_auth_rand_size = 0" (field_expression "daemon->digest_auth_rand_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "daemon->digest_auth_random = (char *)0x0;" (assignment_expression "daemon->digest_auth_random = (char *)0x0" (field_expression "daemon->digest_auth_random" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "daemon->nonce_nc_size = 4;" (assignment_expression "daemon->nonce_nc_size = 4" (field_expression "daemon->nonce_nc_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "MVar5 = parse_options_va(daemon,&servaddr,ap);" (assignment_expression "MVar5 = parse_options_va(daemon,&servaddr,ap)" identifier = (call_expression "parse_options_va(daemon,&servaddr,ap)" identifier (argument_list "(daemon,&servaddr,ap)" ( identifier , (pointer_expression "&servaddr" & identifier) , identifier )))) ;) (if_statement "if (MVar5 != MHD_YES) goto LAB_0001d4f0;" if (parenthesized_expression "(MVar5 != MHD_YES)" ( (binary_expression "MVar5 != MHD_YES" identifier != identifier) )) (goto_statement "goto LAB_0001d4f0;" goto statement_identifier ;)) (expression_statement "MVar6 = daemon->options;" (assignment_expression "MVar6 = daemon->options" identifier = (field_expression "daemon->options" identifier -> field_identifier)) ;) (if_statement "if ((daemon->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n     ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)) {\n    if ((MVar6 & MHD_USE_ITC) != MHD_NO_FLAG) {\n      uVar7 = daemon->worker_pool_size;\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    daemon->options = MVar6 | MHD_USE_ITC;\n    uVar7 = daemon->worker_pool_size;\nLAB_0001d2f4:\n    if (uVar7 == 0) {\n      iVar9 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      (daemon->itc).fd = iVar9;\n      if (iVar9 == -1) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);\n        goto LAB_0001d9f0;\n      }\n      if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9)) {\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);\n        iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);\n        if (iVar9 == 0) goto LAB_0001d4f0;\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x172d;\n        if (*piVar10 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }" if (parenthesized_expression "((daemon->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n     ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG))" ( (binary_expression "(daemon->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n     ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)" (parenthesized_expression "(daemon->notify_completed == (MHD_RequestCompletedCallback)0x0)" ( (binary_expression "daemon->notify_completed == (MHD_RequestCompletedCallback)0x0" (field_expression "daemon->notify_completed" identifier -> field_identifier) == (cast_expression "(MHD_RequestCompletedCallback)0x0" ( (type_descriptor "MHD_RequestCompletedCallback" type_identifier) ) number_literal)) )) || (parenthesized_expression "((MVar6 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)" ( (binary_expression "(MVar6 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG" (parenthesized_expression "(MVar6 & MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "MVar6 & MHD_USE_THREAD_PER_CONNECTION" identifier & identifier) )) == identifier) ))) )) (compound_statement "{\n    if ((MVar6 & MHD_USE_ITC) != MHD_NO_FLAG) {\n      uVar7 = daemon->worker_pool_size;\n      goto LAB_0001d2f4;\n    }\n  }" { (if_statement "if ((MVar6 & MHD_USE_ITC) != MHD_NO_FLAG) {\n      uVar7 = daemon->worker_pool_size;\n      goto LAB_0001d2f4;\n    }" if (parenthesized_expression "((MVar6 & MHD_USE_ITC) != MHD_NO_FLAG)" ( (binary_expression "(MVar6 & MHD_USE_ITC) != MHD_NO_FLAG" (parenthesized_expression "(MVar6 & MHD_USE_ITC)" ( (binary_expression "MVar6 & MHD_USE_ITC" identifier & identifier) )) != identifier) )) (compound_statement "{\n      uVar7 = daemon->worker_pool_size;\n      goto LAB_0001d2f4;\n    }" { (expression_statement "uVar7 = daemon->worker_pool_size;" (assignment_expression "uVar7 = daemon->worker_pool_size" identifier = (field_expression "daemon->worker_pool_size" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0001d2f4;" goto statement_identifier ;) })) }) (else_clause "else {\n    daemon->options = MVar6 | MHD_USE_ITC;\n    uVar7 = daemon->worker_pool_size;\nLAB_0001d2f4:\n    if (uVar7 == 0) {\n      iVar9 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      (daemon->itc).fd = iVar9;\n      if (iVar9 == -1) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);\n        goto LAB_0001d9f0;\n      }\n      if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9)) {\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);\n        iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);\n        if (iVar9 == 0) goto LAB_0001d4f0;\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x172d;\n        if (*piVar10 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }" else (compound_statement "{\n    daemon->options = MVar6 | MHD_USE_ITC;\n    uVar7 = daemon->worker_pool_size;\nLAB_0001d2f4:\n    if (uVar7 == 0) {\n      iVar9 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      (daemon->itc).fd = iVar9;\n      if (iVar9 == -1) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);\n        goto LAB_0001d9f0;\n      }\n      if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9)) {\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);\n        iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);\n        if (iVar9 == 0) goto LAB_0001d4f0;\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x172d;\n        if (*piVar10 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }" { (expression_statement "daemon->options = MVar6 | MHD_USE_ITC;" (assignment_expression "daemon->options = MVar6 | MHD_USE_ITC" (field_expression "daemon->options" identifier -> field_identifier) = (binary_expression "MVar6 | MHD_USE_ITC" identifier | identifier)) ;) (expression_statement "uVar7 = daemon->worker_pool_size;" (assignment_expression "uVar7 = daemon->worker_pool_size" identifier = (field_expression "daemon->worker_pool_size" identifier -> field_identifier)) ;) (labeled_statement "LAB_0001d2f4:\n    if (uVar7 == 0) {\n      iVar9 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      (daemon->itc).fd = iVar9;\n      if (iVar9 == -1) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);\n        goto LAB_0001d9f0;\n      }\n      if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9)) {\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);\n        iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);\n        if (iVar9 == 0) goto LAB_0001d4f0;\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x172d;\n        if (*piVar10 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }" statement_identifier : (if_statement "if (uVar7 == 0) {\n      iVar9 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      (daemon->itc).fd = iVar9;\n      if (iVar9 == -1) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);\n        goto LAB_0001d9f0;\n      }\n      if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9)) {\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);\n        iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);\n        if (iVar9 == 0) goto LAB_0001d4f0;\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x172d;\n        if (*piVar10 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar9 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      (daemon->itc).fd = iVar9;\n      if (iVar9 == -1) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);\n        goto LAB_0001d9f0;\n      }\n      if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9)) {\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);\n        iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);\n        if (iVar9 == 0) goto LAB_0001d4f0;\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x172d;\n        if (*piVar10 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }" { (expression_statement "iVar9 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);" (assignment_expression "iVar9 = (*(code *)PTR_eventfd_0003d148)(0,0x80080)" identifier = (call_expression "(*(code *)PTR_eventfd_0003d148)(0,0x80080)" (parenthesized_expression "(*(code *)PTR_eventfd_0003d148)" ( (pointer_expression "*(code *)PTR_eventfd_0003d148" * (cast_expression "(code *)PTR_eventfd_0003d148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0x80080)" ( number_literal , number_literal )))) ;) (expression_statement "(daemon->itc).fd = iVar9;" (assignment_expression "(daemon->itc).fd = iVar9" (field_expression "(daemon->itc).fd" (parenthesized_expression "(daemon->itc)" ( (field_expression "daemon->itc" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if (iVar9 == -1) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);\n        goto LAB_0001d9f0;\n      }" if (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) (compound_statement "{\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);\n        goto LAB_0001d9f0;\n      }" { (expression_statement "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar12)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar12)" ( (pointer_expression "*puVar12" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4310,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x4310,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4310" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001d9f0;" goto statement_identifier ;) })) (if_statement "if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9)) {\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);\n        iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);\n        if (iVar9 == 0) goto LAB_0001d4f0;\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x172d;\n        if (*piVar10 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }" if (parenthesized_expression "(((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9))" ( (binary_expression "((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar9)" (parenthesized_expression "((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG)" ( (binary_expression "(daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG" (parenthesized_expression "(daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL))" ( (binary_expression "daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)" (field_expression "daemon->options" identifier -> field_identifier) & (parenthesized_expression "(MHD_USE_EPOLL|MHD_USE_POLL)" ( (binary_expression "MHD_USE_EPOLL|MHD_USE_POLL" identifier | identifier) ))) )) == identifier) )) && (parenthesized_expression "(0x3ff < iVar9)" ( (binary_expression "0x3ff < iVar9" number_literal < identifier) ))) )) (compound_statement "{\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);\n        iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);\n        if (iVar9 == 0) goto LAB_0001d4f0;\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x172d;\n        if (*piVar10 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }" { (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x42d4)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x42d4)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x42d4" identifier + number_literal) ))) ;) (expression_statement "iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd);" (assignment_expression "iVar9 = (*(code *)PTR_close_0003d128)((daemon->itc).fd)" identifier = (call_expression "(*(code *)PTR_close_0003d128)((daemon->itc).fd)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((daemon->itc).fd)" ( (field_expression "(daemon->itc).fd" (parenthesized_expression "(daemon->itc)" ( (field_expression "daemon->itc" identifier -> field_identifier) )) . field_identifier) )))) ;) (if_statement "if (iVar9 == 0) goto LAB_0001d4f0;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d4f0;" goto statement_identifier ;)) (expression_statement "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = 0x172d;" (assignment_expression "uVar18 = 0x172d" identifier = number_literal) ;) (if_statement "if (*piVar10 != 9) goto LAB_0001d4f0;" if (parenthesized_expression "(*piVar10 != 9)" ( (binary_expression "*piVar10 != 9" (pointer_expression "*piVar10" * identifier) != number_literal) )) (goto_statement "goto LAB_0001d4f0;" goto statement_identifier ;)) (goto_statement "goto LAB_0001d9b4;" goto statement_identifier ;) })) }))) }))) (expression_statement "uVar7 = daemon->nonce_nc_size;" (assignment_expression "uVar7 = daemon->nonce_nc_size" identifier = (field_expression "daemon->nonce_nc_size" identifier -> field_identifier)) ;) (if_statement "if (uVar7 != 0) {\n    if (uVar7 != (uVar7 * 0x98) / 0x98) goto LAB_0001d9d8;\n    pMVar8 = (MHD_NonceNc *)(*(code *)PTR_malloc_0003d1e0)();\n    daemon->nnc = pMVar8;\n    if (pMVar8 == (MHD_NonceNc *)0x0) {\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x425c,uVar18);\n      goto LAB_0001d9f0;\n    }\n  }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    if (uVar7 != (uVar7 * 0x98) / 0x98) goto LAB_0001d9d8;\n    pMVar8 = (MHD_NonceNc *)(*(code *)PTR_malloc_0003d1e0)();\n    daemon->nnc = pMVar8;\n    if (pMVar8 == (MHD_NonceNc *)0x0) {\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x425c,uVar18);\n      goto LAB_0001d9f0;\n    }\n  }" { (if_statement "if (uVar7 != (uVar7 * 0x98) / 0x98) goto LAB_0001d9d8;" if (parenthesized_expression "(uVar7 != (uVar7 * 0x98) / 0x98)" ( (binary_expression "uVar7 != (uVar7 * 0x98) / 0x98" identifier != (binary_expression "(uVar7 * 0x98) / 0x98" (parenthesized_expression "(uVar7 * 0x98)" ( (binary_expression "uVar7 * 0x98" identifier * number_literal) )) / number_literal)) )) (goto_statement "goto LAB_0001d9d8;" goto statement_identifier ;)) (expression_statement "pMVar8 = (MHD_NonceNc *)(*(code *)PTR_malloc_0003d1e0)();" (assignment_expression "pMVar8 = (MHD_NonceNc *)(*(code *)PTR_malloc_0003d1e0)()" identifier = (cast_expression "(MHD_NonceNc *)(*(code *)PTR_malloc_0003d1e0)()" ( (type_descriptor "MHD_NonceNc *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_malloc_0003d1e0)()" (parenthesized_expression "(*(code *)PTR_malloc_0003d1e0)" ( (pointer_expression "*(code *)PTR_malloc_0003d1e0" * (cast_expression "(code *)PTR_malloc_0003d1e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "daemon->nnc = pMVar8;" (assignment_expression "daemon->nnc = pMVar8" (field_expression "daemon->nnc" identifier -> field_identifier) = identifier) ;) (if_statement "if (pMVar8 == (MHD_NonceNc *)0x0) {\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x425c,uVar18);\n      goto LAB_0001d9f0;\n    }" if (parenthesized_expression "(pMVar8 == (MHD_NonceNc *)0x0)" ( (binary_expression "pMVar8 == (MHD_NonceNc *)0x0" identifier == (cast_expression "(MHD_NonceNc *)0x0" ( (type_descriptor "MHD_NonceNc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x425c,uVar18);\n      goto LAB_0001d9f0;\n    }" { (expression_statement "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar12)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar12)" ( (pointer_expression "*puVar12" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x425c,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x425c,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x425c,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x425c" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001d9f0;" goto statement_identifier ;) })) })) (expression_statement "ap = &daemon->nnc_lock;" (assignment_expression "ap = &daemon->nnc_lock" identifier = (pointer_expression "&daemon->nnc_lock" & (field_expression "daemon->nnc_lock" identifier -> field_identifier))) ;) (expression_statement "iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(ap,0);" (assignment_expression "iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(ap,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(ap,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ap,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 != 0) {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(daemon->nnc);\n    goto LAB_0001d9f0;\n  }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(daemon->nnc);\n    goto LAB_0001d9f0;\n  }" { (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x422c);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x422c)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x422c)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x422c" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_free_0003d250)(daemon->nnc);" (call_expression "(*(code *)PTR_free_0003d250)(daemon->nnc)" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(daemon->nnc)" ( (field_expression "daemon->nnc" identifier -> field_identifier) ))) ;) (goto_statement "goto LAB_0001d9f0;" goto statement_identifier ;) })) (expression_statement "MVar6 = daemon->options;" (assignment_expression "MVar6 = daemon->options" identifier = (field_expression "daemon->options" identifier -> field_identifier)) ;) (if_statement "if (((MVar6 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) && (daemon->worker_pool_size != 0))\n  {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }" if (parenthesized_expression "(((MVar6 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) && (daemon->worker_pool_size != 0))" ( (binary_expression "((MVar6 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) && (daemon->worker_pool_size != 0)" (parenthesized_expression "((MVar6 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG)" ( (binary_expression "(MVar6 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG" (parenthesized_expression "(MVar6 & MHD_USE_INTERNAL_POLLING_THREAD)" ( (binary_expression "MVar6 & MHD_USE_INTERNAL_POLLING_THREAD" identifier & identifier) )) == identifier) )) && (parenthesized_expression "(daemon->worker_pool_size != 0)" ( (binary_expression "daemon->worker_pool_size != 0" (field_expression "daemon->worker_pool_size" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }" { (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4200);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4200)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x4200)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4200" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) (expression_statement "unaff_s2 = daemon->listen_fd;" (assignment_expression "unaff_s2 = daemon->listen_fd" identifier = (field_expression "daemon->listen_fd" identifier -> field_identifier)) ;) (if_statement "if (unaff_s2 == ~MHD_NO_FLAG) {\n    if ((MVar6 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) goto LAB_0001d3c4;\n    iVar9 = 2;\n    if ((MVar6 & MHD_USE_IPv6) != MHD_NO_FLAG) {\n      iVar9 = 10;\n    }\n    unaff_s2 = MHD_socket_create_listen_(iVar9);\n    if (unaff_s2 == ~MHD_NO_FLAG) {\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x41b8,uVar18);\n      goto LAB_0001d46c;\n    }\n    if (daemon->listening_address_reuse == 0) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }\n    else if (0 < daemon->listening_address_reuse) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((daemon->options & MHD_USE_IPv6) == MHD_NO_FLAG) {\n      addrlen = 0x10;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr4.sin_addr.s_addr = 0;\n        servaddr4.sin_zero[0] = '\0';\n        servaddr4.sin_zero[1] = '\0';\n        servaddr4.sin_zero[2] = '\0';\n        servaddr4.sin_zero[3] = '\0';\n        servaddr4.sin_family = 2;\n        servaddr = (sockaddr *)&servaddr4;\n        servaddr4.sin_zero[4] = '\0';\n        servaddr4.sin_zero[5] = '\0';\n        servaddr4.sin_zero[6] = '\0';\n        servaddr4.sin_zero[7] = '\0';\n        daemon->listen_fd = unaff_s2;\n        servaddr4.sin_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n    }\n    else {\n      addrlen = 0x1c;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr6.sin6_flowinfo = 0;\n        servaddr6.sin6_scope_id = 0;\n        servaddr6.sin6_family = 10;\n        servaddr = (sockaddr *)&servaddr6;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;\n        daemon->listen_fd = unaff_s2;\n        servaddr6.sin6_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n      v6_only = (MHD_SCKT_OPT_BOOL_)((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&v6_only,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }\n    iVar9 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,servaddr,addrlen);\n    puVar1 = PTR_setsockopt_0003d284;\n    if (iVar9 == -1) {\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4174,pMVar11,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x184d;\n    }\n    else {\n      if ((daemon->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n        if (daemon->fastopen_queue_size == 0) {\n          daemon->fastopen_queue_size = 10;\n        }\n        iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4);\n        if (iVar9 != 0) {\n          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        }\n      }\n      iVar9 = (*(code *)PTR_listen_0003d16c)(unaff_s2,daemon->listen_backlog_size);\n      if (-1 < iVar9) goto LAB_0001d388;\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4154,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar9 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x412c,uVar18);\nLAB_0001d394:\n      iVar9 = MHD_socket_nonblocking_(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001da08;\n      MVar6 = daemon->options;\n      if ((0x3ff < (int)unaff_s2) && ((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG))\n      goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0)) {\n        if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        MVar5 = setup_epoll_to_listen(daemon);\n        if (MVar5 != MHD_YES) goto LAB_0001d46c;\n      }\n      pMVar11 = &daemon->per_ip_connection_mutex;\n      iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n      if (iVar9 == 0) {\nLAB_0001d824:\n        pMVar22 = &daemon->cleanup_connection_mutex;\n        iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);\n        if (iVar9 == 0) {\n          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;\n          uVar7 = daemon->worker_pool_size;\n          if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }\n          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);\n          if (iVar9 != 0) goto LAB_0001d504;\n          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n          uVar18 = 0x193b;\n          if (iVar9 != 0) goto LAB_0001e284;\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n          uVar18 = 0x193c;\n          if (iVar9 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;\n          iVar9 = *piVar21;\n          uVar18 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n        iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n        uVar18 = 0x190e;\n        if (iVar9 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar9 = *piVar10;\n          uVar18 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == ~MHD_NO_FLAG) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar9 = *piVar10;\n      uVar18 = 0x1904;\n    } while( true );\n  }" if (parenthesized_expression "(unaff_s2 == ~MHD_NO_FLAG)" ( (binary_expression "unaff_s2 == ~MHD_NO_FLAG" identifier == (unary_expression "~MHD_NO_FLAG" ~ identifier)) )) (compound_statement "{\n    if ((MVar6 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) goto LAB_0001d3c4;\n    iVar9 = 2;\n    if ((MVar6 & MHD_USE_IPv6) != MHD_NO_FLAG) {\n      iVar9 = 10;\n    }\n    unaff_s2 = MHD_socket_create_listen_(iVar9);\n    if (unaff_s2 == ~MHD_NO_FLAG) {\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x41b8,uVar18);\n      goto LAB_0001d46c;\n    }\n    if (daemon->listening_address_reuse == 0) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }\n    else if (0 < daemon->listening_address_reuse) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((daemon->options & MHD_USE_IPv6) == MHD_NO_FLAG) {\n      addrlen = 0x10;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr4.sin_addr.s_addr = 0;\n        servaddr4.sin_zero[0] = '\0';\n        servaddr4.sin_zero[1] = '\0';\n        servaddr4.sin_zero[2] = '\0';\n        servaddr4.sin_zero[3] = '\0';\n        servaddr4.sin_family = 2;\n        servaddr = (sockaddr *)&servaddr4;\n        servaddr4.sin_zero[4] = '\0';\n        servaddr4.sin_zero[5] = '\0';\n        servaddr4.sin_zero[6] = '\0';\n        servaddr4.sin_zero[7] = '\0';\n        daemon->listen_fd = unaff_s2;\n        servaddr4.sin_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n    }\n    else {\n      addrlen = 0x1c;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr6.sin6_flowinfo = 0;\n        servaddr6.sin6_scope_id = 0;\n        servaddr6.sin6_family = 10;\n        servaddr = (sockaddr *)&servaddr6;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;\n        daemon->listen_fd = unaff_s2;\n        servaddr6.sin6_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n      v6_only = (MHD_SCKT_OPT_BOOL_)((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&v6_only,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }\n    iVar9 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,servaddr,addrlen);\n    puVar1 = PTR_setsockopt_0003d284;\n    if (iVar9 == -1) {\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4174,pMVar11,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x184d;\n    }\n    else {\n      if ((daemon->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n        if (daemon->fastopen_queue_size == 0) {\n          daemon->fastopen_queue_size = 10;\n        }\n        iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4);\n        if (iVar9 != 0) {\n          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        }\n      }\n      iVar9 = (*(code *)PTR_listen_0003d16c)(unaff_s2,daemon->listen_backlog_size);\n      if (-1 < iVar9) goto LAB_0001d388;\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4154,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar9 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x412c,uVar18);\nLAB_0001d394:\n      iVar9 = MHD_socket_nonblocking_(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001da08;\n      MVar6 = daemon->options;\n      if ((0x3ff < (int)unaff_s2) && ((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG))\n      goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0)) {\n        if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        MVar5 = setup_epoll_to_listen(daemon);\n        if (MVar5 != MHD_YES) goto LAB_0001d46c;\n      }\n      pMVar11 = &daemon->per_ip_connection_mutex;\n      iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n      if (iVar9 == 0) {\nLAB_0001d824:\n        pMVar22 = &daemon->cleanup_connection_mutex;\n        iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);\n        if (iVar9 == 0) {\n          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;\n          uVar7 = daemon->worker_pool_size;\n          if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }\n          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);\n          if (iVar9 != 0) goto LAB_0001d504;\n          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n          uVar18 = 0x193b;\n          if (iVar9 != 0) goto LAB_0001e284;\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n          uVar18 = 0x193c;\n          if (iVar9 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;\n          iVar9 = *piVar21;\n          uVar18 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n        iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n        uVar18 = 0x190e;\n        if (iVar9 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar9 = *piVar10;\n          uVar18 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == ~MHD_NO_FLAG) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar9 = *piVar10;\n      uVar18 = 0x1904;\n    } while( true );\n  }" { (if_statement "if ((MVar6 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) goto LAB_0001d3c4;" if (parenthesized_expression "((MVar6 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG)" ( (binary_expression "(MVar6 & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG" (parenthesized_expression "(MVar6 & MHD_USE_NO_LISTEN_SOCKET)" ( (binary_expression "MVar6 & MHD_USE_NO_LISTEN_SOCKET" identifier & identifier) )) != identifier) )) (goto_statement "goto LAB_0001d3c4;" goto statement_identifier ;)) (expression_statement "iVar9 = 2;" (assignment_expression "iVar9 = 2" identifier = number_literal) ;) (if_statement "if ((MVar6 & MHD_USE_IPv6) != MHD_NO_FLAG) {\n      iVar9 = 10;\n    }" if (parenthesized_expression "((MVar6 & MHD_USE_IPv6) != MHD_NO_FLAG)" ( (binary_expression "(MVar6 & MHD_USE_IPv6) != MHD_NO_FLAG" (parenthesized_expression "(MVar6 & MHD_USE_IPv6)" ( (binary_expression "MVar6 & MHD_USE_IPv6" identifier & identifier) )) != identifier) )) (compound_statement "{\n      iVar9 = 10;\n    }" { (expression_statement "iVar9 = 10;" (assignment_expression "iVar9 = 10" identifier = number_literal) ;) })) (expression_statement "unaff_s2 = MHD_socket_create_listen_(iVar9);" (assignment_expression "unaff_s2 = MHD_socket_create_listen_(iVar9)" identifier = (call_expression "MHD_socket_create_listen_(iVar9)" identifier (argument_list "(iVar9)" ( identifier )))) ;) (if_statement "if (unaff_s2 == ~MHD_NO_FLAG) {\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x41b8,uVar18);\n      goto LAB_0001d46c;\n    }" if (parenthesized_expression "(unaff_s2 == ~MHD_NO_FLAG)" ( (binary_expression "unaff_s2 == ~MHD_NO_FLAG" identifier == (unary_expression "~MHD_NO_FLAG" ~ identifier)) )) (compound_statement "{\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x41b8,uVar18);\n      goto LAB_0001d46c;\n    }" { (expression_statement "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar12)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar12)" ( (pointer_expression "*puVar12" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x41b8,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x41b8,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x41b8,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x41b8" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) (if_statement "if (daemon->listening_address_reuse == 0) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }\n    else if (0 < daemon->listening_address_reuse) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        goto LAB_0001d46c;\n      }\n    }" if (parenthesized_expression "(daemon->listening_address_reuse == 0)" ( (binary_expression "daemon->listening_address_reuse == 0" (field_expression "daemon->listening_address_reuse" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }" { (expression_statement "iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);" (assignment_expression "iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4)" identifier = (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" ( (pointer_expression "*(code *)PTR_setsockopt_0003d284" * (cast_expression "(code *)PTR_setsockopt_0003d284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,0xffff,4,&on,4)" ( identifier , number_literal , number_literal , (pointer_expression "&on" & identifier) , number_literal )))) ;) (if_statement "if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }" if (parenthesized_expression "(iVar9 < 0)" ( (binary_expression "iVar9 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }" { (expression_statement "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar12)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar12)" ( (pointer_expression "*puVar12" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x418c,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) })) }) (else_clause "else if (0 < daemon->listening_address_reuse) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        goto LAB_0001d46c;\n      }\n    }" else (if_statement "if (0 < daemon->listening_address_reuse) {\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        goto LAB_0001d46c;\n      }\n    }" if (parenthesized_expression "(0 < daemon->listening_address_reuse)" ( (binary_expression "0 < daemon->listening_address_reuse" number_literal < (field_expression "daemon->listening_address_reuse" identifier -> field_identifier)) )) (compound_statement "{\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        goto LAB_0001d46c;\n      }\n    }" { (expression_statement "iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4);" (assignment_expression "iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4)" identifier = (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&on,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" ( (pointer_expression "*(code *)PTR_setsockopt_0003d284" * (cast_expression "(code *)PTR_setsockopt_0003d284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,0xffff,4,&on,4)" ( identifier , number_literal , number_literal , (pointer_expression "&on" & identifier) , number_literal )))) ;) (if_statement "if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }" if (parenthesized_expression "(iVar9 < 0)" ( (binary_expression "iVar9 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }" { (expression_statement "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar12)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar12)" ( (pointer_expression "*puVar12" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x418c,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) })) (expression_statement "iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4);" (assignment_expression "iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4)" identifier = (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&on,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" ( (pointer_expression "*(code *)PTR_setsockopt_0003d284" * (cast_expression "(code *)PTR_setsockopt_0003d284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,0xffff,0x200,&on,4)" ( identifier , number_literal , number_literal , (pointer_expression "&on" & identifier) , number_literal )))) ;) (if_statement "if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        goto LAB_0001d46c;\n      }" if (parenthesized_expression "(iVar9 < 0)" ( (binary_expression "iVar9 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        goto LAB_0001d46c;\n      }" { (expression_statement "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar12)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar12)" ( (pointer_expression "*puVar12" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x418c,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) })))) (if_statement "if ((daemon->options & MHD_USE_IPv6) == MHD_NO_FLAG) {\n      addrlen = 0x10;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr4.sin_addr.s_addr = 0;\n        servaddr4.sin_zero[0] = '\0';\n        servaddr4.sin_zero[1] = '\0';\n        servaddr4.sin_zero[2] = '\0';\n        servaddr4.sin_zero[3] = '\0';\n        servaddr4.sin_family = 2;\n        servaddr = (sockaddr *)&servaddr4;\n        servaddr4.sin_zero[4] = '\0';\n        servaddr4.sin_zero[5] = '\0';\n        servaddr4.sin_zero[6] = '\0';\n        servaddr4.sin_zero[7] = '\0';\n        daemon->listen_fd = unaff_s2;\n        servaddr4.sin_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n    }\n    else {\n      addrlen = 0x1c;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr6.sin6_flowinfo = 0;\n        servaddr6.sin6_scope_id = 0;\n        servaddr6.sin6_family = 10;\n        servaddr = (sockaddr *)&servaddr6;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;\n        daemon->listen_fd = unaff_s2;\n        servaddr6.sin6_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n      v6_only = (MHD_SCKT_OPT_BOOL_)((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&v6_only,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }" if (parenthesized_expression "((daemon->options & MHD_USE_IPv6) == MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_IPv6) == MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_IPv6)" ( (binary_expression "daemon->options & MHD_USE_IPv6" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) == identifier) )) (compound_statement "{\n      addrlen = 0x10;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr4.sin_addr.s_addr = 0;\n        servaddr4.sin_zero[0] = '\0';\n        servaddr4.sin_zero[1] = '\0';\n        servaddr4.sin_zero[2] = '\0';\n        servaddr4.sin_zero[3] = '\0';\n        servaddr4.sin_family = 2;\n        servaddr = (sockaddr *)&servaddr4;\n        servaddr4.sin_zero[4] = '\0';\n        servaddr4.sin_zero[5] = '\0';\n        servaddr4.sin_zero[6] = '\0';\n        servaddr4.sin_zero[7] = '\0';\n        daemon->listen_fd = unaff_s2;\n        servaddr4.sin_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n    }" { (expression_statement "addrlen = 0x10;" (assignment_expression "addrlen = 0x10" identifier = number_literal) ;) (if_statement "if (servaddr == (sockaddr *)0x0) {\n        servaddr4.sin_addr.s_addr = 0;\n        servaddr4.sin_zero[0] = '\0';\n        servaddr4.sin_zero[1] = '\0';\n        servaddr4.sin_zero[2] = '\0';\n        servaddr4.sin_zero[3] = '\0';\n        servaddr4.sin_family = 2;\n        servaddr = (sockaddr *)&servaddr4;\n        servaddr4.sin_zero[4] = '\0';\n        servaddr4.sin_zero[5] = '\0';\n        servaddr4.sin_zero[6] = '\0';\n        servaddr4.sin_zero[7] = '\0';\n        daemon->listen_fd = unaff_s2;\n        servaddr4.sin_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }" if (parenthesized_expression "(servaddr == (sockaddr *)0x0)" ( (binary_expression "servaddr == (sockaddr *)0x0" identifier == (cast_expression "(sockaddr *)0x0" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        servaddr4.sin_addr.s_addr = 0;\n        servaddr4.sin_zero[0] = '\0';\n        servaddr4.sin_zero[1] = '\0';\n        servaddr4.sin_zero[2] = '\0';\n        servaddr4.sin_zero[3] = '\0';\n        servaddr4.sin_family = 2;\n        servaddr = (sockaddr *)&servaddr4;\n        servaddr4.sin_zero[4] = '\0';\n        servaddr4.sin_zero[5] = '\0';\n        servaddr4.sin_zero[6] = '\0';\n        servaddr4.sin_zero[7] = '\0';\n        daemon->listen_fd = unaff_s2;\n        servaddr4.sin_port = port;\n      }" { (expression_statement "servaddr4.sin_addr.s_addr = 0;" (assignment_expression "servaddr4.sin_addr.s_addr = 0" (field_expression "servaddr4.sin_addr.s_addr" (field_expression "servaddr4.sin_addr" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "servaddr4.sin_zero[0] = '\0';" (assignment_expression "servaddr4.sin_zero[0] = '\0'" (subscript_expression "servaddr4.sin_zero[0]" (field_expression "servaddr4.sin_zero" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "servaddr4.sin_zero[1] = '\0';" (assignment_expression "servaddr4.sin_zero[1] = '\0'" (subscript_expression "servaddr4.sin_zero[1]" (field_expression "servaddr4.sin_zero" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "servaddr4.sin_zero[2] = '\0';" (assignment_expression "servaddr4.sin_zero[2] = '\0'" (subscript_expression "servaddr4.sin_zero[2]" (field_expression "servaddr4.sin_zero" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "servaddr4.sin_zero[3] = '\0';" (assignment_expression "servaddr4.sin_zero[3] = '\0'" (subscript_expression "servaddr4.sin_zero[3]" (field_expression "servaddr4.sin_zero" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "servaddr4.sin_family = 2;" (assignment_expression "servaddr4.sin_family = 2" (field_expression "servaddr4.sin_family" identifier . field_identifier) = number_literal) ;) (expression_statement "servaddr = (sockaddr *)&servaddr4;" (assignment_expression "servaddr = (sockaddr *)&servaddr4" identifier = (cast_expression "(sockaddr *)&servaddr4" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&servaddr4" & identifier))) ;) (expression_statement "servaddr4.sin_zero[4] = '\0';" (assignment_expression "servaddr4.sin_zero[4] = '\0'" (subscript_expression "servaddr4.sin_zero[4]" (field_expression "servaddr4.sin_zero" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "servaddr4.sin_zero[5] = '\0';" (assignment_expression "servaddr4.sin_zero[5] = '\0'" (subscript_expression "servaddr4.sin_zero[5]" (field_expression "servaddr4.sin_zero" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "servaddr4.sin_zero[6] = '\0';" (assignment_expression "servaddr4.sin_zero[6] = '\0'" (subscript_expression "servaddr4.sin_zero[6]" (field_expression "servaddr4.sin_zero" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "servaddr4.sin_zero[7] = '\0';" (assignment_expression "servaddr4.sin_zero[7] = '\0'" (subscript_expression "servaddr4.sin_zero[7]" (field_expression "servaddr4.sin_zero" identifier . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "daemon->listen_fd = unaff_s2;" (assignment_expression "daemon->listen_fd = unaff_s2" (field_expression "daemon->listen_fd" identifier -> field_identifier) = identifier) ;) (expression_statement "servaddr4.sin_port = port;" (assignment_expression "servaddr4.sin_port = port" (field_expression "servaddr4.sin_port" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n        daemon->listen_fd = unaff_s2;\n      }" else (compound_statement "{\n        daemon->listen_fd = unaff_s2;\n      }" { (expression_statement "daemon->listen_fd = unaff_s2;" (assignment_expression "daemon->listen_fd = unaff_s2" (field_expression "daemon->listen_fd" identifier -> field_identifier) = identifier) ;) }))) }) (else_clause "else {\n      addrlen = 0x1c;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr6.sin6_flowinfo = 0;\n        servaddr6.sin6_scope_id = 0;\n        servaddr6.sin6_family = 10;\n        servaddr = (sockaddr *)&servaddr6;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;\n        daemon->listen_fd = unaff_s2;\n        servaddr6.sin6_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n      v6_only = (MHD_SCKT_OPT_BOOL_)((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&v6_only,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }" else (compound_statement "{\n      addrlen = 0x1c;\n      if (servaddr == (sockaddr *)0x0) {\n        servaddr6.sin6_flowinfo = 0;\n        servaddr6.sin6_scope_id = 0;\n        servaddr6.sin6_family = 10;\n        servaddr = (sockaddr *)&servaddr6;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;\n        daemon->listen_fd = unaff_s2;\n        servaddr6.sin6_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }\n      v6_only = (MHD_SCKT_OPT_BOOL_)((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n      iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&v6_only,4);\n      if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }\n    }" { (expression_statement "addrlen = 0x1c;" (assignment_expression "addrlen = 0x1c" identifier = number_literal) ;) (if_statement "if (servaddr == (sockaddr *)0x0) {\n        servaddr6.sin6_flowinfo = 0;\n        servaddr6.sin6_scope_id = 0;\n        servaddr6.sin6_family = 10;\n        servaddr = (sockaddr *)&servaddr6;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;\n        daemon->listen_fd = unaff_s2;\n        servaddr6.sin6_port = port;\n      }\n      else {\n        daemon->listen_fd = unaff_s2;\n      }" if (parenthesized_expression "(servaddr == (sockaddr *)0x0)" ( (binary_expression "servaddr == (sockaddr *)0x0" identifier == (cast_expression "(sockaddr *)0x0" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        servaddr6.sin6_flowinfo = 0;\n        servaddr6.sin6_scope_id = 0;\n        servaddr6.sin6_family = 10;\n        servaddr = (sockaddr *)&servaddr6;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;\n        servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;\n        daemon->listen_fd = unaff_s2;\n        servaddr6.sin6_port = port;\n      }" { (expression_statement "servaddr6.sin6_flowinfo = 0;" (assignment_expression "servaddr6.sin6_flowinfo = 0" (field_expression "servaddr6.sin6_flowinfo" identifier . field_identifier) = number_literal) ;) (expression_statement "servaddr6.sin6_scope_id = 0;" (assignment_expression "servaddr6.sin6_scope_id = 0" (field_expression "servaddr6.sin6_scope_id" identifier . field_identifier) = number_literal) ;) (expression_statement "servaddr6.sin6_family = 10;" (assignment_expression "servaddr6.sin6_family = 10" (field_expression "servaddr6.sin6_family" identifier . field_identifier) = number_literal) ;) (expression_statement "servaddr = (sockaddr *)&servaddr6;" (assignment_expression "servaddr = (sockaddr *)&servaddr6" identifier = (cast_expression "(sockaddr *)&servaddr6" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&servaddr6" & identifier))) ;) (expression_statement "servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;" (assignment_expression "servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0" (subscript_expression "servaddr6.sin6_addr.__in6_u.__u6_addr32[0]" (field_expression "servaddr6.sin6_addr.__in6_u.__u6_addr32" (field_expression "servaddr6.sin6_addr.__in6_u" (field_expression "servaddr6.sin6_addr" identifier . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;" (assignment_expression "servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0" (subscript_expression "servaddr6.sin6_addr.__in6_u.__u6_addr32[1]" (field_expression "servaddr6.sin6_addr.__in6_u.__u6_addr32" (field_expression "servaddr6.sin6_addr.__in6_u" (field_expression "servaddr6.sin6_addr" identifier . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;" (assignment_expression "servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0" (subscript_expression "servaddr6.sin6_addr.__in6_u.__u6_addr32[2]" (field_expression "servaddr6.sin6_addr.__in6_u.__u6_addr32" (field_expression "servaddr6.sin6_addr.__in6_u" (field_expression "servaddr6.sin6_addr" identifier . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;" (assignment_expression "servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0" (subscript_expression "servaddr6.sin6_addr.__in6_u.__u6_addr32[3]" (field_expression "servaddr6.sin6_addr.__in6_u.__u6_addr32" (field_expression "servaddr6.sin6_addr.__in6_u" (field_expression "servaddr6.sin6_addr" identifier . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "daemon->listen_fd = unaff_s2;" (assignment_expression "daemon->listen_fd = unaff_s2" (field_expression "daemon->listen_fd" identifier -> field_identifier) = identifier) ;) (expression_statement "servaddr6.sin6_port = port;" (assignment_expression "servaddr6.sin6_port = port" (field_expression "servaddr6.sin6_port" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n        daemon->listen_fd = unaff_s2;\n      }" else (compound_statement "{\n        daemon->listen_fd = unaff_s2;\n      }" { (expression_statement "daemon->listen_fd = unaff_s2;" (assignment_expression "daemon->listen_fd = unaff_s2" (field_expression "daemon->listen_fd" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "v6_only = (MHD_SCKT_OPT_BOOL_)((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);" (assignment_expression "v6_only = (MHD_SCKT_OPT_BOOL_)((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK)" identifier = (call_expression "(MHD_SCKT_OPT_BOOL_)((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK)" (parenthesized_expression "(MHD_SCKT_OPT_BOOL_)" ( identifier )) (argument_list "((daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK)" ( (binary_expression "(daemon->options & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK" (parenthesized_expression "(daemon->options & MHD_USE_DUAL_STACK)" ( (binary_expression "daemon->options & MHD_USE_DUAL_STACK" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )))) ;) (expression_statement "iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&v6_only,4);" (assignment_expression "iVar9 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&v6_only,4)" identifier = (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&v6_only,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" ( (pointer_expression "*(code *)PTR_setsockopt_0003d284" * (cast_expression "(code *)PTR_setsockopt_0003d284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,0x29,0x1a,&v6_only,4)" ( identifier , number_literal , number_literal , (pointer_expression "&v6_only" & identifier) , number_literal )))) ;) (if_statement "if (iVar9 < 0) {\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }" if (parenthesized_expression "(iVar9 < 0)" ( (binary_expression "iVar9 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n      }" { (expression_statement "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar12)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar12)" ( (pointer_expression "*puVar12" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x418c,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) })) }))) (expression_statement "iVar9 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,servaddr,addrlen);" (assignment_expression "iVar9 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,servaddr,addrlen)" identifier = (call_expression "(*(code *)PTR_bind_0003d1a8)(unaff_s2,servaddr,addrlen)" (parenthesized_expression "(*(code *)PTR_bind_0003d1a8)" ( (pointer_expression "*(code *)PTR_bind_0003d1a8" * (cast_expression "(code *)PTR_bind_0003d1a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,servaddr,addrlen)" ( identifier , identifier , identifier )))) ;) (expression_statement "puVar1 = PTR_setsockopt_0003d284;" (assignment_expression "puVar1 = PTR_setsockopt_0003d284" identifier = identifier) ;) (if_statement "if (iVar9 == -1) {\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4174,pMVar11,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x184d;\n    }\n    else {\n      if ((daemon->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n        if (daemon->fastopen_queue_size == 0) {\n          daemon->fastopen_queue_size = 10;\n        }\n        iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4);\n        if (iVar9 != 0) {\n          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        }\n      }\n      iVar9 = (*(code *)PTR_listen_0003d16c)(unaff_s2,daemon->listen_backlog_size);\n      if (-1 < iVar9) goto LAB_0001d388;\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4154,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x186b;\n    }" if (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) (compound_statement "{\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4174,pMVar11,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x184d;\n    }" { (expression_statement "piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*piVar21)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar21)" ( (pointer_expression "*piVar21" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4174,pMVar11,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4174,pMVar11,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x4174,pMVar11,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4174" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar9 == 0) goto LAB_0001d46c;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "uVar18 = 0x184d;" (assignment_expression "uVar18 = 0x184d" identifier = number_literal) ;) }) (else_clause "else {\n      if ((daemon->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n        if (daemon->fastopen_queue_size == 0) {\n          daemon->fastopen_queue_size = 10;\n        }\n        iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4);\n        if (iVar9 != 0) {\n          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        }\n      }\n      iVar9 = (*(code *)PTR_listen_0003d16c)(unaff_s2,daemon->listen_backlog_size);\n      if (-1 < iVar9) goto LAB_0001d388;\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4154,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x186b;\n    }" else (compound_statement "{\n      if ((daemon->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n        if (daemon->fastopen_queue_size == 0) {\n          daemon->fastopen_queue_size = 10;\n        }\n        iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4);\n        if (iVar9 != 0) {\n          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        }\n      }\n      iVar9 = (*(code *)PTR_listen_0003d16c)(unaff_s2,daemon->listen_backlog_size);\n      if (-1 < iVar9) goto LAB_0001d388;\n      piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4154,uVar18);\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      iVar9 = *piVar21;\n      uVar18 = 0x186b;\n    }" { (if_statement "if ((daemon->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n        if (daemon->fastopen_queue_size == 0) {\n          daemon->fastopen_queue_size = 10;\n        }\n        iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4);\n        if (iVar9 != 0) {\n          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        }\n      }" if (parenthesized_expression "((daemon->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_TCP_FASTOPEN)" ( (binary_expression "daemon->options & MHD_USE_TCP_FASTOPEN" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n        if (daemon->fastopen_queue_size == 0) {\n          daemon->fastopen_queue_size = 10;\n        }\n        iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4);\n        if (iVar9 != 0) {\n          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        }\n      }" { (if_statement "if (daemon->fastopen_queue_size == 0) {\n          daemon->fastopen_queue_size = 10;\n        }" if (parenthesized_expression "(daemon->fastopen_queue_size == 0)" ( (binary_expression "daemon->fastopen_queue_size == 0" (field_expression "daemon->fastopen_queue_size" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n          daemon->fastopen_queue_size = 10;\n        }" { (expression_statement "daemon->fastopen_queue_size = 10;" (assignment_expression "daemon->fastopen_queue_size = 10" (field_expression "daemon->fastopen_queue_size" identifier -> field_identifier) = number_literal) ;) })) (expression_statement "iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4);" (assignment_expression "iVar9 = (*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4)" identifier = (call_expression "(*(code *)puVar1)(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,6,0x17,&daemon->fastopen_queue_size,4)" ( identifier , number_literal , number_literal , (pointer_expression "&daemon->fastopen_queue_size" & (field_expression "daemon->fastopen_queue_size" identifier -> field_identifier)) , number_literal )))) ;) (if_statement "if (iVar9 != 0) {\n          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n          puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);\n        }" { (expression_statement "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar12)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar12)" ( (pointer_expression "*puVar12" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x418c,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x418c,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) })) })) (expression_statement "iVar9 = (*(code *)PTR_listen_0003d16c)(unaff_s2,daemon->listen_backlog_size);" (assignment_expression "iVar9 = (*(code *)PTR_listen_0003d16c)(unaff_s2,daemon->listen_backlog_size)" identifier = (call_expression "(*(code *)PTR_listen_0003d16c)(unaff_s2,daemon->listen_backlog_size)" (parenthesized_expression "(*(code *)PTR_listen_0003d16c)" ( (pointer_expression "*(code *)PTR_listen_0003d16c" * (cast_expression "(code *)PTR_listen_0003d16c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,daemon->listen_backlog_size)" ( identifier , (field_expression "daemon->listen_backlog_size" identifier -> field_identifier) )))) ;) (if_statement "if (-1 < iVar9) goto LAB_0001d388;" if (parenthesized_expression "(-1 < iVar9)" ( (binary_expression "-1 < iVar9" number_literal < identifier) )) (goto_statement "goto LAB_0001d388;" goto statement_identifier ;)) (expression_statement "piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*piVar21)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar21)" ( (pointer_expression "*piVar21" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4154,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4154,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x4154,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4154" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar9 == 0) goto LAB_0001d46c;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "uVar18 = 0x186b;" (assignment_expression "uVar18 = 0x186b" identifier = number_literal) ;) }))) (labeled_statement "joined_r0x0001de3c:\n    do {\n      if (iVar9 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x412c,uVar18);\nLAB_0001d394:\n      iVar9 = MHD_socket_nonblocking_(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001da08;\n      MVar6 = daemon->options;\n      if ((0x3ff < (int)unaff_s2) && ((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG))\n      goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0)) {\n        if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        MVar5 = setup_epoll_to_listen(daemon);\n        if (MVar5 != MHD_YES) goto LAB_0001d46c;\n      }\n      pMVar11 = &daemon->per_ip_connection_mutex;\n      iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n      if (iVar9 == 0) {\nLAB_0001d824:\n        pMVar22 = &daemon->cleanup_connection_mutex;\n        iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);\n        if (iVar9 == 0) {\n          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;\n          uVar7 = daemon->worker_pool_size;\n          if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }\n          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);\n          if (iVar9 != 0) goto LAB_0001d504;\n          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n          uVar18 = 0x193b;\n          if (iVar9 != 0) goto LAB_0001e284;\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n          uVar18 = 0x193c;\n          if (iVar9 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;\n          iVar9 = *piVar21;\n          uVar18 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n        iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n        uVar18 = 0x190e;\n        if (iVar9 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar9 = *piVar10;\n          uVar18 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == ~MHD_NO_FLAG) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar9 = *piVar10;\n      uVar18 = 0x1904;\n    } while( true );" statement_identifier : (do_statement "do {\n      if (iVar9 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x412c,uVar18);\nLAB_0001d394:\n      iVar9 = MHD_socket_nonblocking_(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001da08;\n      MVar6 = daemon->options;\n      if ((0x3ff < (int)unaff_s2) && ((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG))\n      goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0)) {\n        if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        MVar5 = setup_epoll_to_listen(daemon);\n        if (MVar5 != MHD_YES) goto LAB_0001d46c;\n      }\n      pMVar11 = &daemon->per_ip_connection_mutex;\n      iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n      if (iVar9 == 0) {\nLAB_0001d824:\n        pMVar22 = &daemon->cleanup_connection_mutex;\n        iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);\n        if (iVar9 == 0) {\n          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;\n          uVar7 = daemon->worker_pool_size;\n          if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }\n          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);\n          if (iVar9 != 0) goto LAB_0001d504;\n          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n          uVar18 = 0x193b;\n          if (iVar9 != 0) goto LAB_0001e284;\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n          uVar18 = 0x193c;\n          if (iVar9 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;\n          iVar9 = *piVar21;\n          uVar18 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n        iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n        uVar18 = 0x190e;\n        if (iVar9 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar9 = *piVar10;\n          uVar18 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == ~MHD_NO_FLAG) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar9 = *piVar10;\n      uVar18 = 0x1904;\n    } while( true );" do (compound_statement "{\n      if (iVar9 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x412c,uVar18);\nLAB_0001d394:\n      iVar9 = MHD_socket_nonblocking_(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001da08;\n      MVar6 = daemon->options;\n      if ((0x3ff < (int)unaff_s2) && ((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG))\n      goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0)) {\n        if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        MVar5 = setup_epoll_to_listen(daemon);\n        if (MVar5 != MHD_YES) goto LAB_0001d46c;\n      }\n      pMVar11 = &daemon->per_ip_connection_mutex;\n      iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n      if (iVar9 == 0) {\nLAB_0001d824:\n        pMVar22 = &daemon->cleanup_connection_mutex;\n        iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);\n        if (iVar9 == 0) {\n          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;\n          uVar7 = daemon->worker_pool_size;\n          if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }\n          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);\n          if (iVar9 != 0) goto LAB_0001d504;\n          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n          uVar18 = 0x193b;\n          if (iVar9 != 0) goto LAB_0001e284;\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n          uVar18 = 0x193c;\n          if (iVar9 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;\n          iVar9 = *piVar21;\n          uVar18 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n        iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n        uVar18 = 0x190e;\n        if (iVar9 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar9 = *piVar10;\n          uVar18 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == ~MHD_NO_FLAG) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar9 == 0) goto LAB_0001d46c;\n      piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar9 = *piVar10;\n      uVar18 = 0x1904;\n    }" { (if_statement "if (iVar9 != 9) goto LAB_0001d46c;" if (parenthesized_expression "(iVar9 != 9)" ( (binary_expression "iVar9 != 9" identifier != number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (labeled_statement "LAB_0001db00:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4cfc);" statement_identifier : (expression_statement "(**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4cfc);" (call_expression "(**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4cfc)" (parenthesized_expression "(**(code **)PTR_mhd_panic_0003d03c)" ( (pointer_expression "**(code **)PTR_mhd_panic_0003d03c" * (pointer_expression "*(code **)PTR_mhd_panic_0003d03c" * (cast_expression "(code **)PTR_mhd_panic_0003d03c" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4cfc)" ( (pointer_expression "*(undefined4 *)PTR_mhd_panic_cls_0003d038" * (cast_expression "(undefined4 *)PTR_mhd_panic_cls_0003d038" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_DAT_0003d02c + -0x51b0" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003d02c + -0x4cfc" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0001db20:\n      puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" statement_identifier : (expression_statement "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;)) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar12)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar12)" ( (pointer_expression "*puVar12" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x412c,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x412c,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x412c,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x412c" identifier + number_literal) , identifier ))) ;) (labeled_statement "LAB_0001d394:\n      iVar9 = MHD_socket_nonblocking_(unaff_s2);" statement_identifier : (expression_statement "iVar9 = MHD_socket_nonblocking_(unaff_s2);" (assignment_expression "iVar9 = MHD_socket_nonblocking_(unaff_s2)" identifier = (call_expression "MHD_socket_nonblocking_(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier )))) ;)) (if_statement "if (iVar9 == 0) goto LAB_0001da08;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001da08;" goto statement_identifier ;)) (expression_statement "MVar6 = daemon->options;" (assignment_expression "MVar6 = daemon->options" identifier = (field_expression "daemon->options" identifier -> field_identifier)) ;) (if_statement "if ((0x3ff < (int)unaff_s2) && ((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG))\n      goto LAB_0001daac;" if (parenthesized_expression "((0x3ff < (int)unaff_s2) && ((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG))" ( (binary_expression "(0x3ff < (int)unaff_s2) && ((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG)" (parenthesized_expression "(0x3ff < (int)unaff_s2)" ( (binary_expression "0x3ff < (int)unaff_s2" number_literal < (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG)" ( (binary_expression "(MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG" (parenthesized_expression "(MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL))" ( (binary_expression "MVar6 & (MHD_USE_EPOLL|MHD_USE_POLL)" identifier & (parenthesized_expression "(MHD_USE_EPOLL|MHD_USE_POLL)" ( (binary_expression "MHD_USE_EPOLL|MHD_USE_POLL" identifier | identifier) ))) )) == identifier) ))) )) (goto_statement "goto LAB_0001daac;" goto statement_identifier ;)) (labeled_statement "LAB_0001d3c4:\n      if (((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0)) {\n        if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        MVar5 = setup_epoll_to_listen(daemon);\n        if (MVar5 != MHD_YES) goto LAB_0001d46c;\n      }" statement_identifier : (if_statement "if (((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0)) {\n        if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        MVar5 = setup_epoll_to_listen(daemon);\n        if (MVar5 != MHD_YES) goto LAB_0001d46c;\n      }" if (parenthesized_expression "(((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0))" ( (binary_expression "((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->worker_pool_size == 0)" (parenthesized_expression "((MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG)" ( (binary_expression "(MVar6 & MHD_USE_EPOLL) != MHD_NO_FLAG" (parenthesized_expression "(MVar6 & MHD_USE_EPOLL)" ( (binary_expression "MVar6 & MHD_USE_EPOLL" identifier & identifier) )) != identifier) )) && (parenthesized_expression "(daemon->worker_pool_size == 0)" ( (binary_expression "daemon->worker_pool_size == 0" (field_expression "daemon->worker_pool_size" identifier -> field_identifier) == number_literal) ))) )) (compound_statement "{\n        if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        MVar5 = setup_epoll_to_listen(daemon);\n        if (MVar5 != MHD_YES) goto LAB_0001d46c;\n      }" { (if_statement "if ((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }" if (parenthesized_expression "((MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG)" ( (binary_expression "(MVar6 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG" (parenthesized_expression "(MVar6 & MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "MVar6 & MHD_USE_THREAD_PER_CONNECTION" identifier & identifier) )) != identifier) )) (compound_statement "{\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }" { (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4064)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x4064)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4064" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) (expression_statement "MVar5 = setup_epoll_to_listen(daemon);" (assignment_expression "MVar5 = setup_epoll_to_listen(daemon)" identifier = (call_expression "setup_epoll_to_listen(daemon)" identifier (argument_list "(daemon)" ( identifier )))) ;) (if_statement "if (MVar5 != MHD_YES) goto LAB_0001d46c;" if (parenthesized_expression "(MVar5 != MHD_YES)" ( (binary_expression "MVar5 != MHD_YES" identifier != identifier) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) }))) (expression_statement "pMVar11 = &daemon->per_ip_connection_mutex;" (assignment_expression "pMVar11 = &daemon->per_ip_connection_mutex" identifier = (pointer_expression "&daemon->per_ip_connection_mutex" & (field_expression "daemon->per_ip_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);" (assignment_expression "iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pMVar11,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 == 0) {\nLAB_0001d824:\n        pMVar22 = &daemon->cleanup_connection_mutex;\n        iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);\n        if (iVar9 == 0) {\n          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;\n          uVar7 = daemon->worker_pool_size;\n          if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }\n          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);\n          if (iVar9 != 0) goto LAB_0001d504;\n          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n          uVar18 = 0x193b;\n          if (iVar9 != 0) goto LAB_0001e284;\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n          uVar18 = 0x193c;\n          if (iVar9 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;\n          iVar9 = *piVar21;\n          uVar18 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n        iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n        uVar18 = 0x190e;\n        if (iVar9 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar9 = *piVar10;\n          uVar18 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0001d824:\n        pMVar22 = &daemon->cleanup_connection_mutex;\n        iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);\n        if (iVar9 == 0) {\n          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;\n          uVar7 = daemon->worker_pool_size;\n          if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }\n          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);\n          if (iVar9 != 0) goto LAB_0001d504;\n          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n          uVar18 = 0x193b;\n          if (iVar9 != 0) goto LAB_0001e284;\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n          uVar18 = 0x193c;\n          if (iVar9 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;\n          iVar9 = *piVar21;\n          uVar18 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n        iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n        uVar18 = 0x190e;\n        if (iVar9 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar9 = *piVar10;\n          uVar18 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }" { (labeled_statement "LAB_0001d824:\n        pMVar22 = &daemon->cleanup_connection_mutex;" statement_identifier : (expression_statement "pMVar22 = &daemon->cleanup_connection_mutex;" (assignment_expression "pMVar22 = &daemon->cleanup_connection_mutex" identifier = (pointer_expression "&daemon->cleanup_connection_mutex" & (field_expression "daemon->cleanup_connection_mutex" identifier -> field_identifier))) ;)) (expression_statement "iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);" (assignment_expression "iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(pMVar22,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pMVar22,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 == 0) {\n          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;\n          uVar7 = daemon->worker_pool_size;\n          if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }\n          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);\n          if (iVar9 != 0) goto LAB_0001d504;\n          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n          uVar18 = 0x193b;\n          if (iVar9 != 0) goto LAB_0001e284;\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n          uVar18 = 0x193c;\n          if (iVar9 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;\n          iVar9 = *piVar21;\n          uVar18 = 0x193e;\n          goto joined_r0x0001de3c;\n        }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;\n          uVar7 = daemon->worker_pool_size;\n          if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }\n          if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);\n          if (iVar9 != 0) goto LAB_0001d504;\n          piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);\n          MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);\n          uVar18 = 0x193b;\n          if (iVar9 != 0) goto LAB_0001e284;\n          iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n          uVar18 = 0x193c;\n          if (iVar9 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;\n          iVar9 = *piVar21;\n          uVar18 = 0x193e;\n          goto joined_r0x0001de3c;\n        }" { (if_statement "if ((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001d504;" if (parenthesized_expression "((daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD)" ( (binary_expression "(daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n              MHD_USE_INTERNAL_POLLING_THREAD" (parenthesized_expression "(daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD))" ( (binary_expression "daemon->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)" (field_expression "daemon->options" identifier -> field_identifier) & (parenthesized_expression "(MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)" ( (binary_expression "MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD" identifier | identifier) ))) )) != identifier) )) (goto_statement "goto LAB_0001d504;" goto statement_identifier ;)) (expression_statement "uVar7 = daemon->worker_pool_size;" (assignment_expression "uVar7 = daemon->worker_pool_size" identifier = (field_expression "daemon->worker_pool_size" identifier -> field_identifier)) ;) (if_statement "if (uVar7 != 0) {\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar23 = daemon->connection_limit;\n            pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);\n            daemon->worker_pool = pMVar13;\n            puVar1 = PTR_DAT_0003d02c;\n            if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;\n            if (uVar7 == 0) {\n              trap(7);\n            }\n            uVar24 = uVar23 / uVar7;\n            iVar9 = 0;\n            pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);\n            do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );\n          }" { (expression_statement "uVar23 = daemon->connection_limit;" (assignment_expression "uVar23 = daemon->connection_limit" identifier = (field_expression "daemon->connection_limit" identifier -> field_identifier)) ;) (expression_statement "pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130);" (assignment_expression "pMVar13 = (MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130)" identifier = (cast_expression "(MHD_Daemon *)(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130)" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_malloc_0003d1e0)(uVar7 * 0x130)" (parenthesized_expression "(*(code *)PTR_malloc_0003d1e0)" ( (pointer_expression "*(code *)PTR_malloc_0003d1e0" * (cast_expression "(code *)PTR_malloc_0003d1e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7 * 0x130)" ( (binary_expression "uVar7 * 0x130" identifier * number_literal) ))))) ;) (expression_statement "daemon->worker_pool = pMVar13;" (assignment_expression "daemon->worker_pool = pMVar13" (field_expression "daemon->worker_pool" identifier -> field_identifier) = identifier) ;) (expression_statement "puVar1 = PTR_DAT_0003d02c;" (assignment_expression "puVar1 = PTR_DAT_0003d02c" identifier = identifier) ;) (if_statement "if (pMVar13 == (MHD_Daemon *)0x0) goto LAB_0001e05c;" if (parenthesized_expression "(pMVar13 == (MHD_Daemon *)0x0)" ( (binary_expression "pMVar13 == (MHD_Daemon *)0x0" identifier == (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001e05c;" goto statement_identifier ;)) (if_statement "if (uVar7 == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar24 = uVar23 / uVar7;" (assignment_expression "uVar24 = uVar23 / uVar7" identifier = (binary_expression "uVar23 / uVar7" identifier / identifier)) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30);" (assignment_expression "pcVar15 = (code *)(PTR_LAB_0003d054 + -0x7d30)" identifier = (cast_expression "(code *)(PTR_LAB_0003d054 + -0x7d30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0003d054 + -0x7d30)" ( (binary_expression "PTR_LAB_0003d054 + -0x7d30" identifier + number_literal) )))) ;) (expression_statement "start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8);" (assignment_expression "start_routine = (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8)" identifier = (call_expression "(MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8)" (parenthesized_expression "(MHD_THREAD_START_ROUTINE_)" ( identifier )) (argument_list "(PTR_LAB_0003d054 + -0x3aa8)" ( (binary_expression "PTR_LAB_0003d054 + -0x3aa8" identifier + number_literal) )))) ;) (do_statement "do {\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            } while( true );" do (compound_statement "{\n              arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);\n              puVar12 = arg;\n              pMVar13 = daemon;\n              do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);\n              arg[0x1c] = daemon;\n              arg[0x22] = 0;\n              arg[0x1d] = 0;\n              if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }\n              if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;\n              iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);\n              if (iVar14 != 0) goto LAB_0001e2a8;\n              iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);\n              if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar21 = (int *)((int)piVar21 + 1);\n              iVar9 = iVar9 + 0x130;\n              if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;\n              pMVar13 = daemon->worker_pool;\n            }" { (expression_statement "arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9);" (assignment_expression "arg = (undefined4 *)((int)&pMVar13->default_handler + iVar9)" identifier = (cast_expression "(undefined4 *)((int)&pMVar13->default_handler + iVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pMVar13->default_handler + iVar9)" ( (binary_expression "(int)&pMVar13->default_handler + iVar9" (cast_expression "(int)&pMVar13->default_handler" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar13->default_handler" & (field_expression "pMVar13->default_handler" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "puVar12 = arg;" (assignment_expression "puVar12 = arg" identifier = identifier) ;) (expression_statement "pMVar13 = daemon;" (assignment_expression "pMVar13 = daemon" identifier = identifier) ;) (do_statement "do {\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              } while ((MHD_Daemon *)ppMVar16 != daemon + 1);" do (compound_statement "{\n                ppMVar16 = &pMVar13->suspended_connections_head;\n                pvVar20 = pMVar13->default_handler_cls;\n                pMVar19 = pMVar13->connections_head;\n                pMVar17 = pMVar13->connections_tail;\n                *puVar12 = pMVar13->default_handler;\n                puVar12[1] = pvVar20;\n                puVar12[2] = pMVar19;\n                puVar12[3] = pMVar17;\n                puVar12 = puVar12 + 4;\n                pMVar13 = (MHD_Daemon *)ppMVar16;\n              }" { (expression_statement "ppMVar16 = &pMVar13->suspended_connections_head;" (assignment_expression "ppMVar16 = &pMVar13->suspended_connections_head" identifier = (pointer_expression "&pMVar13->suspended_connections_head" & (field_expression "pMVar13->suspended_connections_head" identifier -> field_identifier))) ;) (expression_statement "pvVar20 = pMVar13->default_handler_cls;" (assignment_expression "pvVar20 = pMVar13->default_handler_cls" identifier = (field_expression "pMVar13->default_handler_cls" identifier -> field_identifier)) ;) (expression_statement "pMVar19 = pMVar13->connections_head;" (assignment_expression "pMVar19 = pMVar13->connections_head" identifier = (field_expression "pMVar13->connections_head" identifier -> field_identifier)) ;) (expression_statement "pMVar17 = pMVar13->connections_tail;" (assignment_expression "pMVar17 = pMVar13->connections_tail" identifier = (field_expression "pMVar13->connections_tail" identifier -> field_identifier)) ;) (expression_statement "*puVar12 = pMVar13->default_handler;" (assignment_expression "*puVar12 = pMVar13->default_handler" (pointer_expression "*puVar12" * identifier) = (field_expression "pMVar13->default_handler" identifier -> field_identifier)) ;) (expression_statement "puVar12[1] = pvVar20;" (assignment_expression "puVar12[1] = pvVar20" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = pMVar19;" (assignment_expression "puVar12[2] = pMVar19" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[3] = pMVar17;" (assignment_expression "puVar12[3] = pMVar17" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12 = puVar12 + 4;" (assignment_expression "puVar12 = puVar12 + 4" identifier = (binary_expression "puVar12 + 4" identifier + number_literal)) ;) (expression_statement "pMVar13 = (MHD_Daemon *)ppMVar16;" (assignment_expression "pMVar13 = (MHD_Daemon *)ppMVar16" identifier = (cast_expression "(MHD_Daemon *)ppMVar16" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "((MHD_Daemon *)ppMVar16 != daemon + 1)" ( (binary_expression "(MHD_Daemon *)ppMVar16 != daemon + 1" (cast_expression "(MHD_Daemon *)ppMVar16" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (binary_expression "daemon + 1" identifier + number_literal)) )) ;) (expression_statement "arg[0x1c] = daemon;" (assignment_expression "arg[0x1c] = daemon" (subscript_expression "arg[0x1c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "arg[0x22] = 0;" (assignment_expression "arg[0x22] = 0" (subscript_expression "arg[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "arg[0x1d] = 0;" (assignment_expression "arg[0x1d] = 0" (subscript_expression "arg[0x1d]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n                arg[0x36] = 0xffffffff;\n              }\n              else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }" if (parenthesized_expression "((daemon->options & MHD_USE_ITC) == MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_ITC) == MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_ITC)" ( (binary_expression "daemon->options & MHD_USE_ITC" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) == identifier) )) (compound_statement "{\n                arg[0x36] = 0xffffffff;\n              }" { (expression_statement "arg[0x36] = 0xffffffff;" (assignment_expression "arg[0x36] = 0xffffffff" (subscript_expression "arg[0x36]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }" else (compound_statement "{\n                iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                arg[0x36] = iVar14;\n                if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }\n                if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }" { (expression_statement "iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);" (assignment_expression "iVar14 = (*(code *)PTR_eventfd_0003d148)(0,0x80080)" identifier = (call_expression "(*(code *)PTR_eventfd_0003d148)(0,0x80080)" (parenthesized_expression "(*(code *)PTR_eventfd_0003d148)" ( (pointer_expression "*(code *)PTR_eventfd_0003d148" * (cast_expression "(code *)PTR_eventfd_0003d148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0x80080)" ( number_literal , number_literal )))) ;) (expression_statement "arg[0x36] = iVar14;" (assignment_expression "arg[0x36] = iVar14" (subscript_expression "arg[0x36]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar14 == -1) {\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }" if (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) (compound_statement "{\n                  puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);\n                  goto LAB_0001e054;\n                }" { (expression_statement "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar12)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar12)" ( (pointer_expression "*puVar12" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x3fb8,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3fb8" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;) })) (if_statement "if (((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)) {\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }" if (parenthesized_expression "(((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14))" ( (binary_expression "((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) &&\n                   (0x3ff < iVar14)" (parenthesized_expression "((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG)" ( (binary_expression "(daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG" (parenthesized_expression "(daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL))" ( (binary_expression "daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)" (field_expression "daemon->options" identifier -> field_identifier) & (parenthesized_expression "(MHD_USE_EPOLL|MHD_USE_POLL)" ( (binary_expression "MHD_USE_EPOLL|MHD_USE_POLL" identifier | identifier) ))) )) == identifier) )) && (parenthesized_expression "(0x3ff < iVar14)" ( (binary_expression "0x3ff < iVar14" number_literal < identifier) ))) )) (compound_statement "{\n                  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);\n                  iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);\n                  if (iVar9 == 0) goto LAB_0001e054;\n                  piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar10 != 9) goto LAB_0001e054;\n                  uVar18 = 0x1977;\n                  goto LAB_0001d9b4;\n                }" { (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f78)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x3f78)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3f78" identifier + number_literal) ))) ;) (expression_statement "iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36]);" (assignment_expression "iVar9 = (*(code *)PTR_close_0003d128)(arg[0x36])" identifier = (call_expression "(*(code *)PTR_close_0003d128)(arg[0x36])" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(arg[0x36])" ( (subscript_expression "arg[0x36]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar9 == 0) goto LAB_0001e054;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;)) (expression_statement "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar10 != 9) goto LAB_0001e054;" if (parenthesized_expression "(*piVar10 != 9)" ( (binary_expression "*piVar10 != 9" (pointer_expression "*piVar10" * identifier) != number_literal) )) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;)) (expression_statement "uVar18 = 0x1977;" (assignment_expression "uVar18 = 0x1977" identifier = number_literal) ;) (goto_statement "goto LAB_0001d9b4;" goto statement_identifier ;) })) }))) (if_statement "if (piVar21 < (int *)(uVar23 % uVar7)) {\n                arg[0x3a] = uVar24 + 1;\n              }\n              else {\n                arg[0x3a] = uVar24;\n              }" if (parenthesized_expression "(piVar21 < (int *)(uVar23 % uVar7))" ( (binary_expression "piVar21 < (int *)(uVar23 % uVar7)" identifier < (cast_expression "(int *)(uVar23 % uVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 % uVar7)" ( (binary_expression "uVar23 % uVar7" identifier % identifier) )))) )) (compound_statement "{\n                arg[0x3a] = uVar24 + 1;\n              }" { (expression_statement "arg[0x3a] = uVar24 + 1;" (assignment_expression "arg[0x3a] = uVar24 + 1" (subscript_expression "arg[0x3a]" identifier [ number_literal ]) = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                arg[0x3a] = uVar24;\n              }" else (compound_statement "{\n                arg[0x3a] = uVar24;\n              }" { (expression_statement "arg[0x3a] = uVar24;" (assignment_expression "arg[0x3a] = uVar24" (subscript_expression "arg[0x3a]" identifier [ number_literal ]) = identifier) ;) }))) (if_statement "if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)) goto LAB_0001e054;" if (parenthesized_expression "(((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1))" ( (binary_expression "((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n                 (iVar14 = (*pcVar15)(arg), iVar14 != 1)" (parenthesized_expression "((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_EPOLL)" ( (binary_expression "daemon->options & MHD_USE_EPOLL" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )) && (parenthesized_expression "(iVar14 = (*pcVar15)(arg), iVar14 != 1)" ( (comma_expression "iVar14 = (*pcVar15)(arg), iVar14 != 1" (assignment_expression "iVar14 = (*pcVar15)(arg)" identifier = (call_expression "(*pcVar15)(arg)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(arg)" ( identifier )))) , (binary_expression "iVar14 != 1" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;)) (expression_statement "iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0);" (assignment_expression "iVar14 = (*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(arg + 0x2b,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(arg + 0x2b,0)" ( (binary_expression "arg + 0x2b" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar14 != 0) goto LAB_0001e2a8;" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e2a8;" goto statement_identifier ;)) (expression_statement "iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg);" (assignment_expression "iVar14 = MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg)" identifier = (call_expression "MHD_create_named_thread_\n                                 ((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg)" identifier (argument_list "((MHD_thread_handle_ID_ *)(arg + 0x23),puVar1 + -0x3eec,\n                                  daemon->thread_stack_size,start_routine,arg)" ( (cast_expression "(MHD_thread_handle_ID_ *)(arg + 0x23)" ( (type_descriptor "MHD_thread_handle_ID_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(arg + 0x23)" ( (binary_expression "arg + 0x23" identifier + number_literal) ))) , (binary_expression "puVar1 + -0x3eec" identifier + number_literal) , (field_expression "daemon->thread_stack_size" identifier -> field_identifier) , identifier , identifier )))) ;) (if_statement "if (iVar14 == 0) {\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);\n                MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);\n                iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);\n                uVar18 = 0x19a1;\n                if (iVar9 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }" { (expression_statement "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar12 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*puVar12)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar12)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar12)" ( (pointer_expression "*puVar12" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x3ee0,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3ee0" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b);" (assignment_expression "iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(arg + 0x2b)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(arg + 0x2b)" ( (binary_expression "arg + 0x2b" identifier + number_literal) )))) ;) (expression_statement "uVar18 = 0x19a1;" (assignment_expression "uVar18 = 0x19a1" identifier = number_literal) ;) (if_statement "if (iVar9 == 0) goto LAB_0001e054;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;)) (goto_statement "goto LAB_0001e284;" goto statement_identifier ;) })) (expression_statement "piVar21 = (int *)((int)piVar21 + 1);" (assignment_expression "piVar21 = (int *)((int)piVar21 + 1)" identifier = (cast_expression "(int *)((int)piVar21 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar21 + 1)" ( (binary_expression "(int)piVar21 + 1" (cast_expression "(int)piVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar9 = iVar9 + 0x130;" (assignment_expression "iVar9 = iVar9 + 0x130" identifier = (binary_expression "iVar9 + 0x130" identifier + number_literal)) ;) (if_statement "if ((int *)daemon->worker_pool_size <= piVar21) goto LAB_0001d504;" if (parenthesized_expression "((int *)daemon->worker_pool_size <= piVar21)" ( (binary_expression "(int *)daemon->worker_pool_size <= piVar21" (cast_expression "(int *)daemon->worker_pool_size" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "daemon->worker_pool_size" identifier -> field_identifier)) <= identifier) )) (goto_statement "goto LAB_0001d504;" goto statement_identifier ;)) (expression_statement "pMVar13 = daemon->worker_pool;" (assignment_expression "pMVar13 = daemon->worker_pool" identifier = (field_expression "daemon->worker_pool" identifier -> field_identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }" 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) )) (compound_statement "{\n            thread_name = PTR_DAT_0003d02c + -0x43ec;\n          }" { (expression_statement "thread_name = PTR_DAT_0003d02c + -0x43ec;" (assignment_expression "thread_name = PTR_DAT_0003d02c + -0x43ec" identifier = (binary_expression "PTR_DAT_0003d02c + -0x43ec" identifier + number_literal)) ;) }) (else_clause "else {\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }" else (compound_statement "{\n            thread_name = PTR_DAT_0003d02c + -0x43f8;\n          }" { (expression_statement "thread_name = PTR_DAT_0003d02c + -0x43f8;" (assignment_expression "thread_name = PTR_DAT_0003d02c + -0x43f8" identifier = (binary_expression "PTR_DAT_0003d02c + -0x43f8" identifier + number_literal)) ;) }))) (expression_statement "iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon);" (assignment_expression "iVar9 = MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon)" identifier = (call_expression "MHD_create_named_thread_\n                            (&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon)" identifier (argument_list "(&daemon->pid,thread_name,daemon->thread_stack_size,\n                             (MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8),daemon)" ( (pointer_expression "&daemon->pid" & (field_expression "daemon->pid" identifier -> field_identifier)) , identifier , (field_expression "daemon->thread_stack_size" identifier -> field_identifier) , (call_expression "(MHD_THREAD_START_ROUTINE_)(PTR_LAB_0003d054 + -0x3aa8)" (parenthesized_expression "(MHD_THREAD_START_ROUTINE_)" ( identifier )) (argument_list "(PTR_LAB_0003d054 + -0x3aa8)" ( (binary_expression "PTR_LAB_0003d054 + -0x3aa8" identifier + number_literal) ))) , identifier )))) ;) (if_statement "if (iVar9 != 0) goto LAB_0001d504;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001d504;" goto statement_identifier ;)) (expression_statement "piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar21 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)(*piVar21)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*piVar21)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar21)" ( (pointer_expression "*piVar21" * identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x3fdc,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3fdc" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);" (assignment_expression "iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pMVar22)" ( identifier )))) ;) (expression_statement "uVar18 = 0x193b;" (assignment_expression "uVar18 = 0x193b" identifier = number_literal) ;) (if_statement "if (iVar9 != 0) goto LAB_0001e284;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e284;" goto statement_identifier ;)) (expression_statement "iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);" (assignment_expression "iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pMVar11)" ( identifier )))) ;) (expression_statement "uVar18 = 0x193c;" (assignment_expression "uVar18 = 0x193c" identifier = number_literal) ;) (if_statement "if (iVar9 != 0) goto LAB_0001e284;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e284;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)) goto LAB_0001d46c;" if (parenthesized_expression "((unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0))" ( (binary_expression "(unaff_s2 == ~MHD_NO_FLAG) ||\n             (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)" (parenthesized_expression "(unaff_s2 == ~MHD_NO_FLAG)" ( (binary_expression "unaff_s2 == ~MHD_NO_FLAG" identifier == (unary_expression "~MHD_NO_FLAG" ~ identifier)) )) || (parenthesized_expression "(iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0)" ( (comma_expression "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 == 0" (assignment_expression "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "uVar18 = 0x193e;" (assignment_expression "uVar18 = 0x193e" identifier = number_literal) ;) (goto_statement "goto joined_r0x0001de3c;" goto statement_identifier ;) })) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x4014)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4014" identifier + number_literal) ))) ;) (expression_statement "iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);" (assignment_expression "iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar22)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pMVar22)" ( identifier )))) ;) (expression_statement "uVar18 = 0x190e;" (assignment_expression "uVar18 = 0x190e" identifier = number_literal) ;) (if_statement "if (iVar9 != 0) goto LAB_0001e284;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e284;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar9 = *piVar10;\n          uVar18 = 0x1911;\n          goto joined_r0x0001de3c;\n        }" if (parenthesized_expression "((unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0))" ( (binary_expression "(unaff_s2 != ~MHD_NO_FLAG) &&\n           (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)" (parenthesized_expression "(unaff_s2 != ~MHD_NO_FLAG)" ( (binary_expression "unaff_s2 != ~MHD_NO_FLAG" identifier != (unary_expression "~MHD_NO_FLAG" ~ identifier)) )) && (parenthesized_expression "(iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)" ( (comma_expression "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0" (assignment_expression "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar9 = *piVar10;\n          uVar18 = 0x1911;\n          goto joined_r0x0001de3c;\n        }" { (expression_statement "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar9 = *piVar10;" (assignment_expression "iVar9 = *piVar10" identifier = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "uVar18 = 0x1911;" (assignment_expression "uVar18 = 0x1911" identifier = number_literal) ;) (goto_statement "goto joined_r0x0001de3c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x4014)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4014" identifier + number_literal) ))) ;) (if_statement "if (unaff_s2 == ~MHD_NO_FLAG) goto LAB_0001d46c;" if (parenthesized_expression "(unaff_s2 == ~MHD_NO_FLAG)" ( (binary_expression "unaff_s2 == ~MHD_NO_FLAG" identifier == (unary_expression "~MHD_NO_FLAG" ~ identifier)) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (labeled_statement "LAB_0001d660:\n      iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);" statement_identifier : (expression_statement "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;)) (if_statement "if (iVar9 == 0) goto LAB_0001d46c;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar9 = *piVar10;" (assignment_expression "iVar9 = *piVar10" identifier = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "uVar18 = 0x1904;" (assignment_expression "uVar18 = 0x1904" identifier = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (labeled_statement "LAB_0001d388:\n  if (daemon->port != 0) goto LAB_0001d394;" statement_identifier : (if_statement "if (daemon->port != 0) goto LAB_0001d394;" if (parenthesized_expression "(daemon->port != 0)" ( (binary_expression "daemon->port != 0" (field_expression "daemon->port" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;))) (if_statement "if ((daemon->options & MHD_USE_NO_LISTEN_SOCKET) != MHD_NO_FLAG) goto LAB_0001d394;" 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) )) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;)) (expression_statement "uVar18 = (*(code *)PTR_memset_0003d19c)(&bindaddr,0,0x80);" (assignment_expression "uVar18 = (*(code *)PTR_memset_0003d19c)(&bindaddr,0,0x80)" identifier = (call_expression "(*(code *)PTR_memset_0003d19c)(&bindaddr,0,0x80)" (parenthesized_expression "(*(code *)PTR_memset_0003d19c)" ( (pointer_expression "*(code *)PTR_memset_0003d19c" * (cast_expression "(code *)PTR_memset_0003d19c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&bindaddr,0,0x80)" ( (pointer_expression "&bindaddr" & identifier) , number_literal , number_literal )))) ;) (expression_statement "addrlen = 0x80;" (assignment_expression "addrlen = 0x80" identifier = number_literal) ;) (expression_statement "iVar9 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar18,&addrlen);" (assignment_expression "iVar9 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar18,&addrlen)" identifier = (call_expression "(*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar18,&addrlen)" (parenthesized_expression "(*(code *)PTR_getsockname_0003d15c)" ( (pointer_expression "*(code *)PTR_getsockname_0003d15c" * (cast_expression "(code *)PTR_getsockname_0003d15c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,uVar18,&addrlen)" ( identifier , identifier , (pointer_expression "&addrlen" & identifier) )))) ;) (if_statement "if (iVar9 != 0) goto LAB_0001db20;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001db20;" goto statement_identifier ;)) (if_statement "if (0x80 < addrlen) {\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }" if (parenthesized_expression "(0x80 < addrlen)" ( (binary_expression "0x80 < addrlen" number_literal < identifier) )) (compound_statement "{\n    MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }" { (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4104);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4104)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x4104)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4104" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;) })) (if_statement "if ((bindaddr.ss_family != 2) && (bindaddr.ss_family != 10)) {\n    if (bindaddr.ss_family != 1) {\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x40b8);\n    }\n    daemon->port = 0;\n    goto LAB_0001d394;\n  }" if (parenthesized_expression "((bindaddr.ss_family != 2) && (bindaddr.ss_family != 10))" ( (binary_expression "(bindaddr.ss_family != 2) && (bindaddr.ss_family != 10)" (parenthesized_expression "(bindaddr.ss_family != 2)" ( (binary_expression "bindaddr.ss_family != 2" (field_expression "bindaddr.ss_family" identifier . field_identifier) != number_literal) )) && (parenthesized_expression "(bindaddr.ss_family != 10)" ( (binary_expression "bindaddr.ss_family != 10" (field_expression "bindaddr.ss_family" identifier . field_identifier) != number_literal) ))) )) (compound_statement "{\n    if (bindaddr.ss_family != 1) {\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x40b8);\n    }\n    daemon->port = 0;\n    goto LAB_0001d394;\n  }" { (if_statement "if (bindaddr.ss_family != 1) {\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x40b8);\n    }" if (parenthesized_expression "(bindaddr.ss_family != 1)" ( (binary_expression "bindaddr.ss_family != 1" (field_expression "bindaddr.ss_family" identifier . field_identifier) != number_literal) )) (compound_statement "{\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x40b8);\n    }" { (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x40b8);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x40b8)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x40b8)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x40b8" identifier + number_literal) ))) ;) })) (expression_statement "daemon->port = 0;" (assignment_expression "daemon->port = 0" (field_expression "daemon->port" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;) })) (expression_statement "daemon->port = bindaddr.__ss_padding._0_2_;" (assignment_expression "daemon->port = bindaddr.__ss_padding._0_2_" (field_expression "daemon->port" identifier -> field_identifier) = (field_expression "bindaddr.__ss_padding._0_2_" (field_expression "bindaddr.__ss_padding" identifier . field_identifier) . field_identifier)) ;) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;) (labeled_statement "LAB_0001da08:\n  pMVar11 = (MHD_mutex_ *)(*(code *)PTR___errno_location_0003d198)();" statement_identifier : (expression_statement "pMVar11 = (MHD_mutex_ *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "pMVar11 = (MHD_mutex_ *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(MHD_mutex_ *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;)) (expression_statement "uVar18 = (*(code *)PTR_strerror_0003d1dc)((pMVar11->__data).__lock);" (assignment_expression "uVar18 = (*(code *)PTR_strerror_0003d1dc)((pMVar11->__data).__lock)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)((pMVar11->__data).__lock)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((pMVar11->__data).__lock)" ( (field_expression "(pMVar11->__data).__lock" (parenthesized_expression "(pMVar11->__data)" ( (field_expression "pMVar11->__data" identifier -> field_identifier) )) . field_identifier) )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x409c,uVar18);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x409c,uVar18)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x409c,uVar18)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x409c" identifier + number_literal) , identifier ))) ;) (if_statement "if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) || (daemon->worker_pool_size != 0)) {\n    iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar9 == 0) goto LAB_0001d46c;\n    iVar9 = (pMVar11->__data).__lock;\n    uVar18 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }" if (parenthesized_expression "(((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) || (daemon->worker_pool_size != 0))" ( (binary_expression "((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) || (daemon->worker_pool_size != 0)" (parenthesized_expression "((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_EPOLL)" ( (binary_expression "daemon->options & MHD_USE_EPOLL" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )) || (parenthesized_expression "(daemon->worker_pool_size != 0)" ( (binary_expression "daemon->worker_pool_size != 0" (field_expression "daemon->worker_pool_size" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n    iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar9 == 0) goto LAB_0001d46c;\n    iVar9 = (pMVar11->__data).__lock;\n    uVar18 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }" { (expression_statement "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar9 == 0) goto LAB_0001d46c;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "iVar9 = (pMVar11->__data).__lock;" (assignment_expression "iVar9 = (pMVar11->__data).__lock" identifier = (field_expression "(pMVar11->__data).__lock" (parenthesized_expression "(pMVar11->__data)" ( (field_expression "pMVar11->__data" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar18 = 0x18d4;" (assignment_expression "uVar18 = 0x18d4" identifier = number_literal) ;) (goto_statement "goto joined_r0x0001de3c;" goto statement_identifier ;) })) (if_statement "if (((int)unaff_s2 < 0x400) || ((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG))\n  {\n    pMVar11 = &daemon->per_ip_connection_mutex;\n    iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n    if (iVar9 != 0) {\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }" if (parenthesized_expression "(((int)unaff_s2 < 0x400) || ((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG))" ( (binary_expression "((int)unaff_s2 < 0x400) || ((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)" (parenthesized_expression "((int)unaff_s2 < 0x400)" ( (binary_expression "(int)unaff_s2 < 0x400" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "((daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL))" ( (binary_expression "daemon->options & (MHD_USE_EPOLL|MHD_USE_POLL)" (field_expression "daemon->options" identifier -> field_identifier) & (parenthesized_expression "(MHD_USE_EPOLL|MHD_USE_POLL)" ( (binary_expression "MHD_USE_EPOLL|MHD_USE_POLL" identifier | identifier) ))) )) != identifier) ))) )) (compound_statement "{\n    pMVar11 = &daemon->per_ip_connection_mutex;\n    iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);\n    if (iVar9 != 0) {\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }" { (expression_statement "pMVar11 = &daemon->per_ip_connection_mutex;" (assignment_expression "pMVar11 = &daemon->per_ip_connection_mutex" identifier = (pointer_expression "&daemon->per_ip_connection_mutex" & (field_expression "daemon->per_ip_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);" (assignment_expression "iVar9 = (*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(pMVar11,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pMVar11,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 != 0) {\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }" { (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4014)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x4014)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4014" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0001d660;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001d824;" goto statement_identifier ;) })) (labeled_statement "LAB_0001daac:\n  MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);" statement_identifier : (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4c5c" identifier + number_literal) , identifier , number_literal ))) ;)) (expression_statement "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar9 != 0) {\n    piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar9 = *piVar10;\n    uVar18 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n    piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar9 = *piVar10;\n    uVar18 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }" { (expression_statement "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar9 = *piVar10;" (assignment_expression "iVar9 = *piVar10" identifier = (pointer_expression "*piVar10" * identifier)) ;) (expression_statement "uVar18 = 0x18e3;" (assignment_expression "uVar18 = 0x18e3" identifier = number_literal) ;) (goto_statement "goto joined_r0x0001de3c;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d46c:\n  if (daemon->epoll_fd != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }" statement_identifier : (if_statement "if (daemon->epoll_fd != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }" if (parenthesized_expression "(daemon->epoll_fd != -1)" ( (binary_expression "daemon->epoll_fd != -1" (field_expression "daemon->epoll_fd" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_close_0003d128)();\n  }" { (expression_statement "(*(code *)PTR_close_0003d128)();" (call_expression "(*(code *)PTR_close_0003d128)()" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "(*(code *)PTR_free_0003d250)(daemon->nnc);" (call_expression "(*(code *)PTR_free_0003d250)(daemon->nnc)" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(daemon->nnc)" ( (field_expression "daemon->nnc" identifier -> field_identifier) ))) ;) (expression_statement "iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(ap);" (assignment_expression "iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(ap)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(ap)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ap)" ( identifier )))) ;) (if_statement "if (iVar9 != 0) goto LAB_0001e310;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e310;" goto statement_identifier ;)) (if_statement "if (((daemon->itc).fd != -1) && (iVar9 = (*(code *)PTR_close_0003d128)(), iVar9 != 0)) {\n    piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar18 = 0x19f0;\n    if (*piVar10 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(daemon);\n      daemon = (MHD_Daemon *)0x0;\n      goto LAB_0001d504;\n    }\n  }" if (parenthesized_expression "(((daemon->itc).fd != -1) && (iVar9 = (*(code *)PTR_close_0003d128)(), iVar9 != 0))" ( (binary_expression "((daemon->itc).fd != -1) && (iVar9 = (*(code *)PTR_close_0003d128)(), iVar9 != 0)" (parenthesized_expression "((daemon->itc).fd != -1)" ( (binary_expression "(daemon->itc).fd != -1" (field_expression "(daemon->itc).fd" (parenthesized_expression "(daemon->itc)" ( (field_expression "daemon->itc" identifier -> field_identifier) )) . field_identifier) != number_literal) )) && (parenthesized_expression "(iVar9 = (*(code *)PTR_close_0003d128)(), iVar9 != 0)" ( (comma_expression "iVar9 = (*(code *)PTR_close_0003d128)(), iVar9 != 0" (assignment_expression "iVar9 = (*(code *)PTR_close_0003d128)()" identifier = (call_expression "(*(code *)PTR_close_0003d128)()" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar18 = 0x19f0;\n    if (*piVar10 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(daemon);\n      daemon = (MHD_Daemon *)0x0;\n      goto LAB_0001d504;\n    }\n  }" { (expression_statement "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = 0x19f0;" (assignment_expression "uVar18 = 0x19f0" identifier = number_literal) ;) (if_statement "if (*piVar10 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(daemon);\n      daemon = (MHD_Daemon *)0x0;\n      goto LAB_0001d504;\n    }" if (parenthesized_expression "(*piVar10 == 9)" ( (binary_expression "*piVar10 == 9" (pointer_expression "*piVar10" * identifier) == number_literal) )) (compound_statement "{\nLAB_0001d9b4:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(daemon);\n      daemon = (MHD_Daemon *)0x0;\n      goto LAB_0001d504;\n    }" { (labeled_statement "LAB_0001d9b4:\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x442c);" statement_identifier : (expression_statement "(**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x442c);" (call_expression "(**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x442c)" (parenthesized_expression "(**(code **)PTR_mhd_panic_0003d03c)" ( (pointer_expression "**(code **)PTR_mhd_panic_0003d03c" * (pointer_expression "*(code **)PTR_mhd_panic_0003d03c" * (cast_expression "(code **)PTR_mhd_panic_0003d03c" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x442c)" ( (pointer_expression "*(undefined4 *)PTR_mhd_panic_cls_0003d038" * (cast_expression "(undefined4 *)PTR_mhd_panic_cls_0003d038" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_DAT_0003d02c + -0x51b0" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003d02c + -0x442c" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0001d9d8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4284);" statement_identifier : (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4284);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x4284)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x4284)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4284" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(daemon);" statement_identifier : (expression_statement "(*(code *)PTR_free_0003d250)(daemon);" (call_expression "(*(code *)PTR_free_0003d250)(daemon)" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(daemon)" ( identifier ))) ;)) (expression_statement "daemon = (MHD_Daemon *)0x0;" (assignment_expression "daemon = (MHD_Daemon *)0x0" identifier = (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0001d504;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(daemon);" statement_identifier : (expression_statement "(*(code *)PTR_free_0003d250)(daemon);" (call_expression "(*(code *)PTR_free_0003d250)(daemon)" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(daemon)" ( identifier ))) ;)) (expression_statement "daemon = (MHD_Daemon *)0x0;" (assignment_expression "daemon = (MHD_Daemon *)0x0" identifier = (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0001d504:\n  do {\n    if (iVar4 == *(int *)puVar3) {\n      return daemon;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar18 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar1 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar21 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x19b9;\n        if (*piVar10 == 9) goto LAB_0001db00;\n      }\n      iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n      uVar18 = 0x19ba;\n      if (iVar9 == 0) {\n        if (daemon->worker_pool != (MHD_Daemon *)0x0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    daemon->worker_pool_size = (uint)piVar21;\n    (*(code *)puVar1)(daemon);\n    unaff_s4 = pMVar11;\nLAB_0001d568:\n    pMVar11 = unaff_s4;\n    daemon = (MHD_Daemon *)0x0;\n  } while( true );" statement_identifier : (do_statement "do {\n    if (iVar4 == *(int *)puVar3) {\n      return daemon;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar18 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar1 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar21 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x19b9;\n        if (*piVar10 == 9) goto LAB_0001db00;\n      }\n      iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n      uVar18 = 0x19ba;\n      if (iVar9 == 0) {\n        if (daemon->worker_pool != (MHD_Daemon *)0x0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    daemon->worker_pool_size = (uint)piVar21;\n    (*(code *)puVar1)(daemon);\n    unaff_s4 = pMVar11;\nLAB_0001d568:\n    pMVar11 = unaff_s4;\n    daemon = (MHD_Daemon *)0x0;\n  } while( true );" do (compound_statement "{\n    if (iVar4 == *(int *)puVar3) {\n      return daemon;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar18 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar1 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar21 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x19b9;\n        if (*piVar10 == 9) goto LAB_0001db00;\n      }\n      iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n      uVar18 = 0x19ba;\n      if (iVar9 == 0) {\n        if (daemon->worker_pool != (MHD_Daemon *)0x0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    daemon->worker_pool_size = (uint)piVar21;\n    (*(code *)puVar1)(daemon);\n    unaff_s4 = pMVar11;\nLAB_0001d568:\n    pMVar11 = unaff_s4;\n    daemon = (MHD_Daemon *)0x0;\n  }" { (if_statement "if (iVar4 == *(int *)puVar3) {\n      return daemon;\n    }" if (parenthesized_expression "(iVar4 == *(int *)puVar3)" ( (binary_expression "iVar4 == *(int *)puVar3" identifier == (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return daemon;\n    }" { (return_statement "return daemon;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_0003d21c)();" (call_expression "(*(code *)PTR___stack_chk_fail_0003d21c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0003d21c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0003d21c" * (cast_expression "(code *)PTR___stack_chk_fail_0003d21c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001e310:\n    uVar18 = 0x19e2;" statement_identifier : (expression_statement "uVar18 = 0x19e2;" (assignment_expression "uVar18 = 0x19e2" identifier = number_literal) ;)) (labeled_statement "LAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar1 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar21 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x19b9;\n        if (*piVar10 == 9) goto LAB_0001db00;\n      }\n      iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n      uVar18 = 0x19ba;\n      if (iVar9 == 0) {\n        if (daemon->worker_pool != (MHD_Daemon *)0x0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }" statement_identifier : (while_statement "while( true ) {\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar1 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar21 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x19b9;\n        if (*piVar10 == 9) goto LAB_0001db00;\n      }\n      iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n      uVar18 = 0x19ba;\n      if (iVar9 == 0) {\n        if (daemon->worker_pool != (MHD_Daemon *)0x0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      (**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar1 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar21 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x19b9;\n        if (*piVar10 == 9) goto LAB_0001db00;\n      }\n      iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);\n      uVar18 = 0x19ba;\n      if (iVar9 == 0) {\n        if (daemon->worker_pool != (MHD_Daemon *)0x0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }" { (expression_statement "(**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4414);" (call_expression "(**(code **)PTR_mhd_panic_0003d03c)\n                (*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4414)" (parenthesized_expression "(**(code **)PTR_mhd_panic_0003d03c)" ( (pointer_expression "**(code **)PTR_mhd_panic_0003d03c" * (pointer_expression "*(code **)PTR_mhd_panic_0003d03c" * (cast_expression "(code **)PTR_mhd_panic_0003d03c" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)PTR_mhd_panic_cls_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar18,\n                 PTR_DAT_0003d02c + -0x4414)" ( (pointer_expression "*(undefined4 *)PTR_mhd_panic_cls_0003d038" * (cast_expression "(undefined4 *)PTR_mhd_panic_cls_0003d038" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_DAT_0003d02c + -0x51b0" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003d02c + -0x4414" identifier + number_literal) ))) ;) (labeled_statement "LAB_0001e2a8:\n      MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20);" statement_identifier : (expression_statement "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20);" (call_expression "MHD_DLOG(daemon,PTR_DAT_0003d02c + -0x3f20)" identifier (argument_list "(daemon,PTR_DAT_0003d02c + -0x3f20)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3f20" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0001e054:\n      puVar1 = PTR_MHD_stop_daemon_0003d168;" statement_identifier : (expression_statement "puVar1 = PTR_MHD_stop_daemon_0003d168;" (assignment_expression "puVar1 = PTR_MHD_stop_daemon_0003d168" identifier = identifier) ;)) (if_statement "if (piVar21 != (int *)0x0) break;" if (parenthesized_expression "(piVar21 != (int *)0x0)" ( (binary_expression "piVar21 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001e05c:\n      if ((unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x19b9;\n        if (*piVar10 == 9) goto LAB_0001db00;\n      }" statement_identifier : (if_statement "if ((unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)) {\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x19b9;\n        if (*piVar10 == 9) goto LAB_0001db00;\n      }" if (parenthesized_expression "((unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0))" ( (binary_expression "(unaff_s2 != ~MHD_NO_FLAG) &&\n         (iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)" (parenthesized_expression "(unaff_s2 != ~MHD_NO_FLAG)" ( (binary_expression "unaff_s2 != ~MHD_NO_FLAG" identifier != (unary_expression "~MHD_NO_FLAG" ~ identifier)) )) && (parenthesized_expression "(iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0)" ( (comma_expression "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar9 != 0" (assignment_expression "iVar9 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar18 = 0x19b9;\n        if (*piVar10 == 9) goto LAB_0001db00;\n      }" { (expression_statement "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar10 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar18 = 0x19b9;" (assignment_expression "uVar18 = 0x19b9" identifier = number_literal) ;) (if_statement "if (*piVar10 == 9) goto LAB_0001db00;" if (parenthesized_expression "(*piVar10 == 9)" ( (binary_expression "*piVar10 == 9" (pointer_expression "*piVar10" * identifier) == number_literal) )) (goto_statement "goto LAB_0001db00;" goto statement_identifier ;)) }))) (expression_statement "iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);" (assignment_expression "iVar9 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(pMVar11)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pMVar11)" ( identifier )))) ;) (expression_statement "uVar18 = 0x19ba;" (assignment_expression "uVar18 = 0x19ba" identifier = number_literal) ;) (if_statement "if (iVar9 == 0) {\n        if (daemon->worker_pool != (MHD_Daemon *)0x0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        if (daemon->worker_pool != (MHD_Daemon *)0x0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }" { (if_statement "if (daemon->worker_pool != (MHD_Daemon *)0x0) {\n          (*(code *)PTR_free_0003d250)();\n        }" if (parenthesized_expression "(daemon->worker_pool != (MHD_Daemon *)0x0)" ( (binary_expression "daemon->worker_pool != (MHD_Daemon *)0x0" (field_expression "daemon->worker_pool" identifier -> field_identifier) != (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_free_0003d250)();\n        }" { (expression_statement "(*(code *)PTR_free_0003d250)();" (call_expression "(*(code *)PTR_free_0003d250)()" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) }))) (expression_statement "daemon->worker_pool_size = (uint)piVar21;" (assignment_expression "daemon->worker_pool_size = (uint)piVar21" (field_expression "daemon->worker_pool_size" identifier -> field_identifier) = (cast_expression "(uint)piVar21" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "(*(code *)puVar1)(daemon);" (call_expression "(*(code *)puVar1)(daemon)" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(daemon)" ( identifier ))) ;) (expression_statement "unaff_s4 = pMVar11;" (assignment_expression "unaff_s4 = pMVar11" identifier = identifier) ;) (labeled_statement "LAB_0001d568:\n    pMVar11 = unaff_s4;" statement_identifier : (expression_statement "pMVar11 = unaff_s4;" (assignment_expression "pMVar11 = unaff_s4" identifier = identifier) ;)) (expression_statement "daemon = (MHD_Daemon *)0x0;" (assignment_expression "daemon = (MHD_Daemon *)0x0" identifier = (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "int * MHD_start_daemon_va(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  code *pcVar7;\n  undefined *puVar8;\n  int *piVar9;\n  int *piVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  int iVar13;\n  int iVar14;\n  int *piVar15;\n  uint unaff_s2;\n  int *unaff_s4;\n  undefined2 uVar16;\n  uint uVar17;\n  int iVar18;\n  int *piVar19;\n  uint uVar20;\n  undefined4 local_e8;\n  undefined2 *local_e4;\n  uint local_e0;\n  uint local_dc;\n  undefined2 local_d8;\n  undefined2 local_d6;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined2 local_c8;\n  undefined2 local_c6;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  short local_ac;\n  undefined2 local_aa;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0003d244;\n  piVar15 = (int *)(param_1 & 2);\n  local_2c = *(int *)PTR___stack_chk_guard_0003d244;\n  local_e8 = 1;\n  local_e4 = (undefined2 *)0x0;\n  if (piVar15 != (int *)0x0) goto LAB_0001d568;\n  unaff_s2 = param_1;\n  if ((param_1 & 0x8000) != 0) {\n    unaff_s2 = param_1 | 0x2400;\n  }\n  unaff_s4 = param_2;\n  if (param_5 == 0) goto LAB_0001d568;\n  if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;\n  if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;\n  if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;\n  if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }\n  piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);\n  if (piVar2 == (int *)0x0) goto LAB_0001d568;\n  piVar2[0x33] = 0;\n  piVar2[0x34] = -1;\n  piVar2[0x32] = -1;\n  piVar2[0x36] = -1;\n  piVar2[0x3a] = 0x3fc;\n  piVar2[0x4b] = 0x80;\n  puVar11 = PTR_LAB_0003d054;\n  piVar2[0x1f] = 0x8000;\n  piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;\n  piVar2[0x20] = 0x400;\n  puVar8 = PTR_LAB_0003d054;\n  piVar2[0x1a] = (int)(puVar11 + -0x7d68);\n  puVar11 = PTR_stderr_0003d258;\n  piVar2[0x3d] = unaff_s2;\n  uVar16 = SUB42(param_2,0);\n  *(undefined2 *)(piVar2 + 0x3e) = uVar16;\n  piVar2[0x10] = param_3;\n  piVar2[0x11] = param_4;\n  *piVar2 = param_5;\n  piVar2[1] = param_6;\n  piVar2[0x39] = 0;\n  piVar2[0x18] = (int)(puVar8 + -0x7d48);\n  piVar2[0x3b] = 0;\n  piVar2[0x1b] = *(int *)puVar11;\n  if ((unaff_s2 & 0xc) == 4) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }\n  piVar2[0x48] = 0;\n  piVar2[0x40] = 0;\n  piVar2[0x49] = 4;\n  iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);\n  if (iVar3 != 1) goto LAB_0001d4f0;\n  uVar4 = piVar2[0x3d];\n  if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }\n  uVar4 = piVar2[0x49];\n  if (uVar4 != 0) {\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }\n  param_7 = piVar2 + 0x42;\n  iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);\n  if (iVar3 != 0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }\n  uVar4 = piVar2[0x3d];\n  if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }\n  unaff_s2 = piVar2[0x32];\n  if (unaff_s2 == 0xffffffff) {\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }\nLAB_0001d388:\n  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;\n  if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;\n  uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);\n  local_e0 = 0x80;\n  iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);\n  if (iVar3 != 0) goto LAB_0001db20;\n  if (0x80 < local_e0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }\n  if ((local_ac != 2) && (local_ac != 10)) {\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }\n  *(undefined2 *)(piVar2 + 0x3e) = local_aa;\n  goto LAB_0001d394;\nLAB_0001da08:\n  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();\n  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);\n  if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }\n  if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }\nLAB_0001daac:\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);\n  iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n  if (iVar3 != 0) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }\nLAB_0001d46c:\n  if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }\n  (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n  iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);\n  if (iVar3 != 0) goto LAB_0001e310;\n  if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }\nLAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(piVar2);\n  piVar2 = (int *)0x0;\nLAB_0001d504:\n  do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );\n}\n\n" (function_definition "int * MHD_start_daemon_va(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  code *pcVar7;\n  undefined *puVar8;\n  int *piVar9;\n  int *piVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  int iVar13;\n  int iVar14;\n  int *piVar15;\n  uint unaff_s2;\n  int *unaff_s4;\n  undefined2 uVar16;\n  uint uVar17;\n  int iVar18;\n  int *piVar19;\n  uint uVar20;\n  undefined4 local_e8;\n  undefined2 *local_e4;\n  uint local_e0;\n  uint local_dc;\n  undefined2 local_d8;\n  undefined2 local_d6;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined2 local_c8;\n  undefined2 local_c6;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  short local_ac;\n  undefined2 local_aa;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0003d244;\n  piVar15 = (int *)(param_1 & 2);\n  local_2c = *(int *)PTR___stack_chk_guard_0003d244;\n  local_e8 = 1;\n  local_e4 = (undefined2 *)0x0;\n  if (piVar15 != (int *)0x0) goto LAB_0001d568;\n  unaff_s2 = param_1;\n  if ((param_1 & 0x8000) != 0) {\n    unaff_s2 = param_1 | 0x2400;\n  }\n  unaff_s4 = param_2;\n  if (param_5 == 0) goto LAB_0001d568;\n  if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;\n  if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;\n  if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;\n  if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }\n  piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);\n  if (piVar2 == (int *)0x0) goto LAB_0001d568;\n  piVar2[0x33] = 0;\n  piVar2[0x34] = -1;\n  piVar2[0x32] = -1;\n  piVar2[0x36] = -1;\n  piVar2[0x3a] = 0x3fc;\n  piVar2[0x4b] = 0x80;\n  puVar11 = PTR_LAB_0003d054;\n  piVar2[0x1f] = 0x8000;\n  piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;\n  piVar2[0x20] = 0x400;\n  puVar8 = PTR_LAB_0003d054;\n  piVar2[0x1a] = (int)(puVar11 + -0x7d68);\n  puVar11 = PTR_stderr_0003d258;\n  piVar2[0x3d] = unaff_s2;\n  uVar16 = SUB42(param_2,0);\n  *(undefined2 *)(piVar2 + 0x3e) = uVar16;\n  piVar2[0x10] = param_3;\n  piVar2[0x11] = param_4;\n  *piVar2 = param_5;\n  piVar2[1] = param_6;\n  piVar2[0x39] = 0;\n  piVar2[0x18] = (int)(puVar8 + -0x7d48);\n  piVar2[0x3b] = 0;\n  piVar2[0x1b] = *(int *)puVar11;\n  if ((unaff_s2 & 0xc) == 4) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }\n  piVar2[0x48] = 0;\n  piVar2[0x40] = 0;\n  piVar2[0x49] = 4;\n  iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);\n  if (iVar3 != 1) goto LAB_0001d4f0;\n  uVar4 = piVar2[0x3d];\n  if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }\n  uVar4 = piVar2[0x49];\n  if (uVar4 != 0) {\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }\n  param_7 = piVar2 + 0x42;\n  iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);\n  if (iVar3 != 0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }\n  uVar4 = piVar2[0x3d];\n  if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }\n  unaff_s2 = piVar2[0x32];\n  if (unaff_s2 == 0xffffffff) {\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }\nLAB_0001d388:\n  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;\n  if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;\n  uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);\n  local_e0 = 0x80;\n  iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);\n  if (iVar3 != 0) goto LAB_0001db20;\n  if (0x80 < local_e0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }\n  if ((local_ac != 2) && (local_ac != 10)) {\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }\n  *(undefined2 *)(piVar2 + 0x3e) = local_aa;\n  goto LAB_0001d394;\nLAB_0001da08:\n  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();\n  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);\n  if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }\n  if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }\nLAB_0001daac:\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);\n  iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n  if (iVar3 != 0) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }\nLAB_0001d46c:\n  if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }\n  (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n  iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);\n  if (iVar3 != 0) goto LAB_0001e310;\n  if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }\nLAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(piVar2);\n  piVar2 = (int *)0x0;\nLAB_0001d504:\n  do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );\n}" primitive_type (pointer_declarator "* MHD_start_daemon_va(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)" * (function_declarator "MHD_start_daemon_va(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)" identifier (parameter_list "(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) , (parameter_declaration "int *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) )))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  code *pcVar7;\n  undefined *puVar8;\n  int *piVar9;\n  int *piVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  int iVar13;\n  int iVar14;\n  int *piVar15;\n  uint unaff_s2;\n  int *unaff_s4;\n  undefined2 uVar16;\n  uint uVar17;\n  int iVar18;\n  int *piVar19;\n  uint uVar20;\n  undefined4 local_e8;\n  undefined2 *local_e4;\n  uint local_e0;\n  uint local_dc;\n  undefined2 local_d8;\n  undefined2 local_d6;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined2 local_c8;\n  undefined2 local_c6;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  short local_ac;\n  undefined2 local_aa;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0003d244;\n  piVar15 = (int *)(param_1 & 2);\n  local_2c = *(int *)PTR___stack_chk_guard_0003d244;\n  local_e8 = 1;\n  local_e4 = (undefined2 *)0x0;\n  if (piVar15 != (int *)0x0) goto LAB_0001d568;\n  unaff_s2 = param_1;\n  if ((param_1 & 0x8000) != 0) {\n    unaff_s2 = param_1 | 0x2400;\n  }\n  unaff_s4 = param_2;\n  if (param_5 == 0) goto LAB_0001d568;\n  if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;\n  if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;\n  if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;\n  if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }\n  piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);\n  if (piVar2 == (int *)0x0) goto LAB_0001d568;\n  piVar2[0x33] = 0;\n  piVar2[0x34] = -1;\n  piVar2[0x32] = -1;\n  piVar2[0x36] = -1;\n  piVar2[0x3a] = 0x3fc;\n  piVar2[0x4b] = 0x80;\n  puVar11 = PTR_LAB_0003d054;\n  piVar2[0x1f] = 0x8000;\n  piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;\n  piVar2[0x20] = 0x400;\n  puVar8 = PTR_LAB_0003d054;\n  piVar2[0x1a] = (int)(puVar11 + -0x7d68);\n  puVar11 = PTR_stderr_0003d258;\n  piVar2[0x3d] = unaff_s2;\n  uVar16 = SUB42(param_2,0);\n  *(undefined2 *)(piVar2 + 0x3e) = uVar16;\n  piVar2[0x10] = param_3;\n  piVar2[0x11] = param_4;\n  *piVar2 = param_5;\n  piVar2[1] = param_6;\n  piVar2[0x39] = 0;\n  piVar2[0x18] = (int)(puVar8 + -0x7d48);\n  piVar2[0x3b] = 0;\n  piVar2[0x1b] = *(int *)puVar11;\n  if ((unaff_s2 & 0xc) == 4) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }\n  piVar2[0x48] = 0;\n  piVar2[0x40] = 0;\n  piVar2[0x49] = 4;\n  iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);\n  if (iVar3 != 1) goto LAB_0001d4f0;\n  uVar4 = piVar2[0x3d];\n  if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }\n  uVar4 = piVar2[0x49];\n  if (uVar4 != 0) {\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }\n  param_7 = piVar2 + 0x42;\n  iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);\n  if (iVar3 != 0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }\n  uVar4 = piVar2[0x3d];\n  if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }\n  unaff_s2 = piVar2[0x32];\n  if (unaff_s2 == 0xffffffff) {\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }\nLAB_0001d388:\n  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;\n  if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;\n  uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);\n  local_e0 = 0x80;\n  iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);\n  if (iVar3 != 0) goto LAB_0001db20;\n  if (0x80 < local_e0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }\n  if ((local_ac != 2) && (local_ac != 10)) {\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }\n  *(undefined2 *)(piVar2 + 0x3e) = local_aa;\n  goto LAB_0001d394;\nLAB_0001da08:\n  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();\n  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);\n  if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }\n  if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }\nLAB_0001daac:\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);\n  iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n  if (iVar3 != 0) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }\nLAB_0001d46c:\n  if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }\n  (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n  iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);\n  if (iVar3 != 0) goto LAB_0001e310;\n  if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }\nLAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(piVar2);\n  piVar2 = (int *)0x0;\nLAB_0001d504:\n  do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "uint unaff_s2;" type_identifier identifier ;) (declaration "int *unaff_s4;" primitive_type (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "undefined2 uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined4 local_e8;" type_identifier identifier ;) (declaration "undefined2 *local_e4;" type_identifier (pointer_declarator "*local_e4" * identifier) ;) (declaration "uint local_e0;" type_identifier identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "undefined2 local_d8;" type_identifier identifier ;) (declaration "undefined2 local_d6;" type_identifier identifier ;) (declaration "undefined4 local_d4;" type_identifier identifier ;) (declaration "undefined4 local_d0;" type_identifier identifier ;) (declaration "undefined4 local_cc;" type_identifier identifier ;) (declaration "undefined2 local_c8;" type_identifier identifier ;) (declaration "undefined2 local_c6;" type_identifier identifier ;) (declaration "undefined4 local_c4;" type_identifier identifier ;) (declaration "undefined4 local_c0;" type_identifier identifier ;) (declaration "undefined4 local_bc;" type_identifier identifier ;) (declaration "undefined4 local_b8;" type_identifier identifier ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "undefined4 local_b0;" type_identifier identifier ;) (declaration "short local_ac;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined2 local_aa;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_0003d244;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0003d244" identifier = identifier) ;) (expression_statement "piVar15 = (int *)(param_1 & 2);" (assignment_expression "piVar15 = (int *)(param_1 & 2)" identifier = (cast_expression "(int *)(param_1 & 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 & 2)" ( (binary_expression "param_1 & 2" identifier & number_literal) )))) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0003d244;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0003d244" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0003d244" * (cast_expression "(int *)PTR___stack_chk_guard_0003d244" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_e8 = 1;" (assignment_expression "local_e8 = 1" identifier = number_literal) ;) (expression_statement "local_e4 = (undefined2 *)0x0;" (assignment_expression "local_e4 = (undefined2 *)0x0" identifier = (cast_expression "(undefined2 *)0x0" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar15 != (int *)0x0) goto LAB_0001d568;" if (parenthesized_expression "(piVar15 != (int *)0x0)" ( (binary_expression "piVar15 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (expression_statement "unaff_s2 = param_1;" (assignment_expression "unaff_s2 = param_1" identifier = identifier) ;) (if_statement "if ((param_1 & 0x8000) != 0) {\n    unaff_s2 = param_1 | 0x2400;\n  }" if (parenthesized_expression "((param_1 & 0x8000) != 0)" ( (binary_expression "(param_1 & 0x8000) != 0" (parenthesized_expression "(param_1 & 0x8000)" ( (binary_expression "param_1 & 0x8000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    unaff_s2 = param_1 | 0x2400;\n  }" { (expression_statement "unaff_s2 = param_1 | 0x2400;" (assignment_expression "unaff_s2 = param_1 | 0x2400" identifier = (binary_expression "param_1 | 0x2400" identifier | number_literal)) ;) })) (expression_statement "unaff_s4 = param_2;" (assignment_expression "unaff_s4 = param_2" identifier = identifier) ;) (if_statement "if (param_5 == 0) goto LAB_0001d568;" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;" if (parenthesized_expression "((unaff_s2 & 0x240) == 0x240)" ( (binary_expression "(unaff_s2 & 0x240) == 0x240" (parenthesized_expression "(unaff_s2 & 0x240)" ( (binary_expression "unaff_s2 & 0x240" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;" if (parenthesized_expression "((unaff_s2 & 0x204) == 0x204)" ( (binary_expression "(unaff_s2 & 0x204) == 0x204" (parenthesized_expression "(unaff_s2 & 0x204)" ( (binary_expression "unaff_s2 & 0x204" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;" if (parenthesized_expression "((unaff_s2 & 0x4c) == 0x40)" ( (binary_expression "(unaff_s2 & 0x4c) == 0x40" (parenthesized_expression "(unaff_s2 & 0x4c)" ( (binary_expression "unaff_s2 & 0x4c" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }" if (parenthesized_expression "((int)(unaff_s2 << 0xf) < 0)" ( (binary_expression "(int)(unaff_s2 << 0xf) < 0" (cast_expression "(int)(unaff_s2 << 0xf)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 << 0xf)" ( (binary_expression "unaff_s2 << 0xf" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }" { (if_statement "if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;" if (parenthesized_expression "((unaff_s2 & 0x240) != 0)" ( (binary_expression "(unaff_s2 & 0x240) != 0" (parenthesized_expression "(unaff_s2 & 0x240)" ( (binary_expression "unaff_s2 & 0x240" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }" if (parenthesized_expression "((unaff_s2 & 4) == 0)" ( (binary_expression "(unaff_s2 & 4) == 0" (parenthesized_expression "(unaff_s2 & 4)" ( (binary_expression "unaff_s2 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      unaff_s2 = unaff_s2 | 0x200;\n    }" { (expression_statement "unaff_s2 = unaff_s2 | 0x200;" (assignment_expression "unaff_s2 = unaff_s2 | 0x200" identifier = (binary_expression "unaff_s2 | 0x200" identifier | number_literal)) ;) }) (else_clause "else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }" else (compound_statement "{\n      unaff_s2 = unaff_s2 | 0x40;\n    }" { (expression_statement "unaff_s2 = unaff_s2 | 0x40;" (assignment_expression "unaff_s2 = unaff_s2 | 0x40" identifier = (binary_expression "unaff_s2 | 0x40" identifier | number_literal)) ;) }))) })) (expression_statement "piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130)" identifier = (cast_expression "(int *)(*(code *)PTR_calloc_0003d120)(1,0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_calloc_0003d120)(1,0x130)" (parenthesized_expression "(*(code *)PTR_calloc_0003d120)" ( (pointer_expression "*(code *)PTR_calloc_0003d120" * (cast_expression "(code *)PTR_calloc_0003d120" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,0x130)" ( number_literal , number_literal ))))) ;) (if_statement "if (piVar2 == (int *)0x0) goto LAB_0001d568;" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001d568;" goto statement_identifier ;)) (expression_statement "piVar2[0x33] = 0;" (assignment_expression "piVar2[0x33] = 0" (subscript_expression "piVar2[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x34] = -1;" (assignment_expression "piVar2[0x34] = -1" (subscript_expression "piVar2[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x32] = -1;" (assignment_expression "piVar2[0x32] = -1" (subscript_expression "piVar2[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x36] = -1;" (assignment_expression "piVar2[0x36] = -1" (subscript_expression "piVar2[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x3a] = 0x3fc;" (assignment_expression "piVar2[0x3a] = 0x3fc" (subscript_expression "piVar2[0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x4b] = 0x80;" (assignment_expression "piVar2[0x4b] = 0x80" (subscript_expression "piVar2[0x4b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11 = PTR_LAB_0003d054;" (assignment_expression "puVar11 = PTR_LAB_0003d054" identifier = identifier) ;) (expression_statement "piVar2[0x1f] = 0x8000;" (assignment_expression "piVar2[0x1f] = 0x8000" (subscript_expression "piVar2[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;" (assignment_expression "piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f" (subscript_expression "piVar2[0x3f]" identifier [ number_literal ]) = (binary_expression "(unaff_s2 << 0x1a) >> 0x1f" (parenthesized_expression "(unaff_s2 << 0x1a)" ( (binary_expression "unaff_s2 << 0x1a" identifier << number_literal) )) >> number_literal)) ;) (expression_statement "piVar2[0x20] = 0x400;" (assignment_expression "piVar2[0x20] = 0x400" (subscript_expression "piVar2[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8 = PTR_LAB_0003d054;" (assignment_expression "puVar8 = PTR_LAB_0003d054" identifier = identifier) ;) (expression_statement "piVar2[0x1a] = (int)(puVar11 + -0x7d68);" (assignment_expression "piVar2[0x1a] = (int)(puVar11 + -0x7d68)" (subscript_expression "piVar2[0x1a]" identifier [ number_literal ]) = (cast_expression "(int)(puVar11 + -0x7d68)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar11 + -0x7d68)" ( (binary_expression "puVar11 + -0x7d68" identifier + number_literal) )))) ;) (expression_statement "puVar11 = PTR_stderr_0003d258;" (assignment_expression "puVar11 = PTR_stderr_0003d258" identifier = identifier) ;) (expression_statement "piVar2[0x3d] = unaff_s2;" (assignment_expression "piVar2[0x3d] = unaff_s2" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar16 = SUB42(param_2,0);" (assignment_expression "uVar16 = SUB42(param_2,0)" identifier = (call_expression "SUB42(param_2,0)" identifier (argument_list "(param_2,0)" ( identifier , number_literal )))) ;) (expression_statement "*(undefined2 *)(piVar2 + 0x3e) = uVar16;" (assignment_expression "*(undefined2 *)(piVar2 + 0x3e) = uVar16" (pointer_expression "*(undefined2 *)(piVar2 + 0x3e)" * (cast_expression "(undefined2 *)(piVar2 + 0x3e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x3e)" ( (binary_expression "piVar2 + 0x3e" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar2[0x10] = param_3;" (assignment_expression "piVar2[0x10] = param_3" (subscript_expression "piVar2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x11] = param_4;" (assignment_expression "piVar2[0x11] = param_4" (subscript_expression "piVar2[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*piVar2 = param_5;" (assignment_expression "*piVar2 = param_5" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "piVar2[1] = param_6;" (assignment_expression "piVar2[1] = param_6" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x39] = 0;" (assignment_expression "piVar2[0x39] = 0" (subscript_expression "piVar2[0x39]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x18] = (int)(puVar8 + -0x7d48);" (assignment_expression "piVar2[0x18] = (int)(puVar8 + -0x7d48)" (subscript_expression "piVar2[0x18]" identifier [ number_literal ]) = (cast_expression "(int)(puVar8 + -0x7d48)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar8 + -0x7d48)" ( (binary_expression "puVar8 + -0x7d48" identifier + number_literal) )))) ;) (expression_statement "piVar2[0x3b] = 0;" (assignment_expression "piVar2[0x3b] = 0" (subscript_expression "piVar2[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1b] = *(int *)puVar11;" (assignment_expression "piVar2[0x1b] = *(int *)puVar11" (subscript_expression "piVar2[0x1b]" identifier [ number_literal ]) = (pointer_expression "*(int *)puVar11" * (cast_expression "(int *)puVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((unaff_s2 & 0xc) == 4) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }" if (parenthesized_expression "((unaff_s2 & 0xc) == 4)" ( (binary_expression "(unaff_s2 & 0xc) == 4" (parenthesized_expression "(unaff_s2 & 0xc)" ( (binary_expression "unaff_s2 & 0xc" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x43e0)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x43e0" identifier + number_literal) ))) ;) (expression_statement "unaff_s2 = piVar2[0x3d] | 8;" (assignment_expression "unaff_s2 = piVar2[0x3d] | 8" identifier = (binary_expression "piVar2[0x3d] | 8" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "piVar2[0x3d] = unaff_s2;" (assignment_expression "piVar2[0x3d] = unaff_s2" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }" statement_identifier : (if_statement "if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }" if (parenthesized_expression "((unaff_s2 & 0x100) != 0)" ( (binary_expression "(unaff_s2 & 0x100) != 0" (parenthesized_expression "(unaff_s2 & 0x100)" ( (binary_expression "unaff_s2 & 0x100" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }" { (expression_statement "unaff_s2 = unaff_s2 | 0x400;" (assignment_expression "unaff_s2 = unaff_s2 | 0x400" identifier = (binary_expression "unaff_s2 | 0x400" identifier | number_literal)) ;) (expression_statement "piVar2[0x3d] = unaff_s2;" (assignment_expression "piVar2[0x3d] = unaff_s2" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }" else (compound_statement "{\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }" { (if_statement "if ((unaff_s2 & 8) != 0) goto LAB_0001d440;" if (parenthesized_expression "((unaff_s2 & 8) != 0)" ( (binary_expression "(unaff_s2 & 8) != 0" (parenthesized_expression "(unaff_s2 & 8)" ( (binary_expression "unaff_s2 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d440;" goto statement_identifier ;)) (expression_statement "unaff_s2 = unaff_s2 & 0xfffffbff;" (assignment_expression "unaff_s2 = unaff_s2 & 0xfffffbff" identifier = (binary_expression "unaff_s2 & 0xfffffbff" identifier & number_literal)) ;) (expression_statement "piVar2[0x3d] = unaff_s2;" (assignment_expression "piVar2[0x3d] = unaff_s2" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "piVar2[0x48] = 0;" (assignment_expression "piVar2[0x48] = 0" (subscript_expression "piVar2[0x48]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x40] = 0;" (assignment_expression "piVar2[0x40] = 0" (subscript_expression "piVar2[0x40]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x49] = 4;" (assignment_expression "piVar2[0x49] = 4" (subscript_expression "piVar2[0x49]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);" (assignment_expression "iVar3 = FUN_00017d48(piVar2,&local_e4,param_7)" identifier = (call_expression "FUN_00017d48(piVar2,&local_e4,param_7)" identifier (argument_list "(piVar2,&local_e4,param_7)" ( identifier , (pointer_expression "&local_e4" & identifier) , identifier )))) ;) (if_statement "if (iVar3 != 1) goto LAB_0001d4f0;" if (parenthesized_expression "(iVar3 != 1)" ( (binary_expression "iVar3 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0001d4f0;" goto statement_identifier ;)) (expression_statement "uVar4 = piVar2[0x3d];" (assignment_expression "uVar4 = piVar2[0x3d]" identifier = (subscript_expression "piVar2[0x3d]" identifier [ number_literal ])) ;) (if_statement "if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }" if (parenthesized_expression "((piVar2[0x12] == 0) || ((uVar4 & 4) == 0))" ( (binary_expression "(piVar2[0x12] == 0) || ((uVar4 & 4) == 0)" (parenthesized_expression "(piVar2[0x12] == 0)" ( (binary_expression "piVar2[0x12] == 0" (subscript_expression "piVar2[0x12]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((uVar4 & 4) == 0)" ( (binary_expression "(uVar4 & 4) == 0" (parenthesized_expression "(uVar4 & 4)" ( (binary_expression "uVar4 & 4" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }" { (if_statement "if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }" if (parenthesized_expression "((uVar4 & 0x400) != 0)" ( (binary_expression "(uVar4 & 0x400) != 0" (parenthesized_expression "(uVar4 & 0x400)" ( (binary_expression "uVar4 & 0x400" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }" { (expression_statement "iVar3 = piVar2[0x22];" (assignment_expression "iVar3 = piVar2[0x22]" identifier = (subscript_expression "piVar2[0x22]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0001d2f4;" goto statement_identifier ;) })) }) (else_clause "else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }" else (compound_statement "{\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }" { (expression_statement "piVar2[0x3d] = uVar4 | 0x400;" (assignment_expression "piVar2[0x3d] = uVar4 | 0x400" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) = (binary_expression "uVar4 | 0x400" identifier | number_literal)) ;) (expression_statement "iVar3 = piVar2[0x22];" (assignment_expression "iVar3 = piVar2[0x22]" identifier = (subscript_expression "piVar2[0x22]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }" statement_identifier : (if_statement "if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);" (assignment_expression "iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080)" identifier = (call_expression "(*(code *)PTR_eventfd_0003d148)(0,0x80080)" (parenthesized_expression "(*(code *)PTR_eventfd_0003d148)" ( (pointer_expression "*(code *)PTR_eventfd_0003d148" * (cast_expression "(code *)PTR_eventfd_0003d148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0x80080)" ( number_literal , number_literal )))) ;) (expression_statement "piVar2[0x36] = iVar3;" (assignment_expression "piVar2[0x36] = iVar3" (subscript_expression "piVar2[0x36]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4310" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001d9f0;" goto statement_identifier ;) })) (if_statement "if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }" if (parenthesized_expression "(((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3))" ( (binary_expression "((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)" (parenthesized_expression "((piVar2[0x3d] & 0x240U) == 0)" ( (binary_expression "(piVar2[0x3d] & 0x240U) == 0" (parenthesized_expression "(piVar2[0x3d] & 0x240U)" ( (binary_expression "piVar2[0x3d] & 0x240U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(0x3ff < iVar3)" ( (binary_expression "0x3ff < iVar3" number_literal < identifier) ))) )) (compound_statement "{\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x42d4)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x42d4" identifier + number_literal) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36])" identifier = (call_expression "(*(code *)PTR_close_0003d128)(piVar2[0x36])" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2[0x36])" ( (subscript_expression "piVar2[0x36]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0001d4f0;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d4f0;" goto statement_identifier ;)) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = 0x172d;" (assignment_expression "uVar12 = 0x172d" identifier = number_literal) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001d4f0;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001d4f0;" goto statement_identifier ;)) (goto_statement "goto LAB_0001d9b4;" goto statement_identifier ;) })) }))) }))) (expression_statement "uVar4 = piVar2[0x49];" (assignment_expression "uVar4 = piVar2[0x49]" identifier = (subscript_expression "piVar2[0x49]" identifier [ number_literal ])) ;) (if_statement "if (uVar4 != 0) {\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }" { (if_statement "if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;" if (parenthesized_expression "(uVar4 != (uVar4 * 0x98) / 0x98)" ( (binary_expression "uVar4 != (uVar4 * 0x98) / 0x98" identifier != (binary_expression "(uVar4 * 0x98) / 0x98" (parenthesized_expression "(uVar4 * 0x98)" ( (binary_expression "uVar4 * 0x98" identifier * number_literal) )) / number_literal)) )) (goto_statement "goto LAB_0001d9d8;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_malloc_0003d1e0)();" (assignment_expression "iVar3 = (*(code *)PTR_malloc_0003d1e0)()" identifier = (call_expression "(*(code *)PTR_malloc_0003d1e0)()" (parenthesized_expression "(*(code *)PTR_malloc_0003d1e0)" ( (pointer_expression "*(code *)PTR_malloc_0003d1e0" * (cast_expression "(code *)PTR_malloc_0003d1e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "piVar2[0x41] = iVar3;" (assignment_expression "piVar2[0x41] = iVar3" (subscript_expression "piVar2[0x41]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x425c" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001d9f0;" goto statement_identifier ;) })) })) (expression_statement "param_7 = piVar2 + 0x42;" (assignment_expression "param_7 = piVar2 + 0x42" identifier = (binary_expression "piVar2 + 0x42" identifier + number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_7,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x422c)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x422c" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_free_0003d250)(piVar2[0x41]);" (call_expression "(*(code *)PTR_free_0003d250)(piVar2[0x41])" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2[0x41])" ( (subscript_expression "piVar2[0x41]" identifier [ number_literal ]) ))) ;) (goto_statement "goto LAB_0001d9f0;" goto statement_identifier ;) })) (expression_statement "uVar4 = piVar2[0x3d];" (assignment_expression "uVar4 = piVar2[0x3d]" identifier = (subscript_expression "piVar2[0x3d]" identifier [ number_literal ])) ;) (if_statement "if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }" if (parenthesized_expression "(((uVar4 & 8) == 0) && (piVar2[0x22] != 0))" ( (binary_expression "((uVar4 & 8) == 0) && (piVar2[0x22] != 0)" (parenthesized_expression "((uVar4 & 8) == 0)" ( (binary_expression "(uVar4 & 8) == 0" (parenthesized_expression "(uVar4 & 8)" ( (binary_expression "uVar4 & 8" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar2[0x22] != 0)" ( (binary_expression "piVar2[0x22] != 0" (subscript_expression "piVar2[0x22]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4200)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4200" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) (expression_statement "unaff_s2 = piVar2[0x32];" (assignment_expression "unaff_s2 = piVar2[0x32]" identifier = (subscript_expression "piVar2[0x32]" identifier [ number_literal ])) ;) (if_statement "if (unaff_s2 == 0xffffffff) {\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }" if (parenthesized_expression "(unaff_s2 == 0xffffffff)" ( (binary_expression "unaff_s2 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }" { (if_statement "if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;" if (parenthesized_expression "((uVar4 & 0x100) != 0)" ( (binary_expression "(uVar4 & 0x100) != 0" (parenthesized_expression "(uVar4 & 0x100)" ( (binary_expression "uVar4 & 0x100" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d3c4;" goto statement_identifier ;)) (expression_statement "uVar12 = 2;" (assignment_expression "uVar12 = 2" identifier = number_literal) ;) (if_statement "if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }" if (parenthesized_expression "((uVar4 & 0x10) != 0)" ( (binary_expression "(uVar4 & 0x10) != 0" (parenthesized_expression "(uVar4 & 0x10)" ( (binary_expression "uVar4 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar12 = 10;\n    }" { (expression_statement "uVar12 = 10;" (assignment_expression "uVar12 = 10" identifier = number_literal) ;) })) (expression_statement "unaff_s2 = FUN_000200f4(uVar12);" (assignment_expression "unaff_s2 = FUN_000200f4(uVar12)" identifier = (call_expression "FUN_000200f4(uVar12)" identifier (argument_list "(uVar12)" ( identifier )))) ;) (if_statement "if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }" if (parenthesized_expression "(unaff_s2 == 0xffffffff)" ( (binary_expression "unaff_s2 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x41b8" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) (if_statement "if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }" if (parenthesized_expression "(piVar2[0x33] == 0)" ( (binary_expression "piVar2[0x33] == 0" (subscript_expression "piVar2[0x33]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);" (assignment_expression "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4)" identifier = (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" ( (pointer_expression "*(code *)PTR_setsockopt_0003d284" * (cast_expression "(code *)PTR_setsockopt_0003d284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,0xffff,4,&local_e8,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_e8" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) })) }) (else_clause "else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }" else (if_statement "if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }" if (parenthesized_expression "(0 < piVar2[0x33])" ( (binary_expression "0 < piVar2[0x33]" number_literal < (subscript_expression "piVar2[0x33]" identifier [ number_literal ])) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);" (assignment_expression "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4)" identifier = (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" ( (pointer_expression "*(code *)PTR_setsockopt_0003d284" * (cast_expression "(code *)PTR_setsockopt_0003d284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,0xffff,4,&local_e8,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_e8" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) })) (expression_statement "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);" (assignment_expression "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4)" identifier = (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" ( (pointer_expression "*(code *)PTR_setsockopt_0003d284" * (cast_expression "(code *)PTR_setsockopt_0003d284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,0xffff,0x200,&local_e8,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_e8" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) })))) (if_statement "if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }" if (parenthesized_expression "((piVar2[0x3d] & 0x10U) == 0)" ( (binary_expression "(piVar2[0x3d] & 0x10U) == 0" (parenthesized_expression "(piVar2[0x3d] & 0x10U)" ( (binary_expression "piVar2[0x3d] & 0x10U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }" { (expression_statement "local_e0 = 0x10;" (assignment_expression "local_e0 = 0x10" identifier = number_literal) ;) (if_statement "if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }" if (parenthesized_expression "(local_e4 == (undefined2 *)0x0)" ( (binary_expression "local_e4 == (undefined2 *)0x0" identifier == (cast_expression "(undefined2 *)0x0" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }" { (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (expression_statement "local_d8 = 2;" (assignment_expression "local_d8 = 2" identifier = number_literal) ;) (expression_statement "local_e4 = &local_d8;" (assignment_expression "local_e4 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) (expression_statement "piVar2[0x32] = unaff_s2;" (assignment_expression "piVar2[0x32] = unaff_s2" (subscript_expression "piVar2[0x32]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_d6 = uVar16;" (assignment_expression "local_d6 = uVar16" identifier = identifier) ;) }) (else_clause "else {\n        piVar2[0x32] = unaff_s2;\n      }" else (compound_statement "{\n        piVar2[0x32] = unaff_s2;\n      }" { (expression_statement "piVar2[0x32] = unaff_s2;" (assignment_expression "piVar2[0x32] = unaff_s2" (subscript_expression "piVar2[0x32]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }" else (compound_statement "{\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }" { (expression_statement "local_e0 = 0x1c;" (assignment_expression "local_e0 = 0x1c" identifier = number_literal) ;) (if_statement "if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }" if (parenthesized_expression "(local_e4 == (undefined2 *)0x0)" ( (binary_expression "local_e4 == (undefined2 *)0x0" identifier == (cast_expression "(undefined2 *)0x0" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }" { (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_c8 = 10;" (assignment_expression "local_c8 = 10" identifier = number_literal) ;) (expression_statement "local_e4 = &local_c8;" (assignment_expression "local_e4 = &local_c8" identifier = (pointer_expression "&local_c8" & identifier)) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" identifier = number_literal) ;) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (expression_statement "piVar2[0x32] = unaff_s2;" (assignment_expression "piVar2[0x32] = unaff_s2" (subscript_expression "piVar2[0x32]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_c6 = uVar16;" (assignment_expression "local_c6 = uVar16" identifier = identifier) ;) }) (else_clause "else {\n        piVar2[0x32] = unaff_s2;\n      }" else (compound_statement "{\n        piVar2[0x32] = unaff_s2;\n      }" { (expression_statement "piVar2[0x32] = unaff_s2;" (assignment_expression "piVar2[0x32] = unaff_s2" (subscript_expression "piVar2[0x32]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);" (assignment_expression "local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810)" identifier = (call_expression "(uint)((piVar2[0x3d] & 0x810U) != 0x810)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((piVar2[0x3d] & 0x810U) != 0x810)" ( (binary_expression "(piVar2[0x3d] & 0x810U) != 0x810" (parenthesized_expression "(piVar2[0x3d] & 0x810U)" ( (binary_expression "piVar2[0x3d] & 0x810U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);" (assignment_expression "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4)" identifier = (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" ( (pointer_expression "*(code *)PTR_setsockopt_0003d284" * (cast_expression "(code *)PTR_setsockopt_0003d284" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,0x29,0x1a,&local_dc,4)" ( identifier , number_literal , number_literal , (pointer_expression "&local_dc" & identifier) , number_literal )))) ;) (if_statement "if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) })) }))) (expression_statement "iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);" (assignment_expression "iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0)" identifier = (call_expression "(*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0)" (parenthesized_expression "(*(code *)PTR_bind_0003d1a8)" ( (pointer_expression "*(code *)PTR_bind_0003d1a8" * (cast_expression "(code *)PTR_bind_0003d1a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,local_e4,local_e0)" ( identifier , identifier , identifier )))) ;) (expression_statement "puVar11 = PTR_setsockopt_0003d284;" (assignment_expression "puVar11 = PTR_setsockopt_0003d284" identifier = identifier) ;) (if_statement "if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }" { (expression_statement "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*piVar15)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4174" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0001d46c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "iVar3 = *piVar15;" (assignment_expression "iVar3 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uVar12 = 0x184d;" (assignment_expression "uVar12 = 0x184d" identifier = number_literal) ;) }) (else_clause "else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }" else (compound_statement "{\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }" { (if_statement "if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }" if (parenthesized_expression "((piVar2[0x3d] & 0x4000U) != 0)" ( (binary_expression "(piVar2[0x3d] & 0x4000U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x4000U)" ( (binary_expression "piVar2[0x3d] & 0x4000U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }" { (if_statement "if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }" if (parenthesized_expression "(piVar2[0x4a] == 0)" ( (binary_expression "piVar2[0x4a] == 0" (subscript_expression "piVar2[0x4a]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          piVar2[0x4a] = 10;\n        }" { (expression_statement "piVar2[0x4a] = 10;" (assignment_expression "piVar2[0x4a] = 10" (subscript_expression "piVar2[0x4a]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);" (assignment_expression "iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4)" identifier = (call_expression "(*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4)" (parenthesized_expression "(*(code *)puVar11)" ( (pointer_expression "*(code *)puVar11" * (cast_expression "(code *)puVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,6,0x17,piVar2 + 0x4a,4)" ( identifier , number_literal , number_literal , (binary_expression "piVar2 + 0x4a" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x418c" identifier + number_literal) , identifier ))) ;) })) })) (expression_statement "iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);" (assignment_expression "iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b])" identifier = (call_expression "(*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b])" (parenthesized_expression "(*(code *)PTR_listen_0003d16c)" ( (pointer_expression "*(code *)PTR_listen_0003d16c" * (cast_expression "(code *)PTR_listen_0003d16c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,piVar2[0x4b])" ( identifier , (subscript_expression "piVar2[0x4b]" identifier [ number_literal ]) )))) ;) (if_statement "if (-1 < iVar3) goto LAB_0001d388;" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (goto_statement "goto LAB_0001d388;" goto statement_identifier ;)) (expression_statement "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*piVar15)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4154" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0001d46c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "iVar3 = *piVar15;" (assignment_expression "iVar3 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uVar12 = 0x186b;" (assignment_expression "uVar12 = 0x186b" identifier = number_literal) ;) }))) (labeled_statement "joined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );" statement_identifier : (do_statement "do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );" do (compound_statement "{\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    }" { (if_statement "if (iVar3 != 9) goto LAB_0001d46c;" if (parenthesized_expression "(iVar3 != 9)" ( (binary_expression "iVar3 != 9" identifier != number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (labeled_statement "LAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);" statement_identifier : (expression_statement "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);" (call_expression "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc)" (parenthesized_expression "(**(code **)PTR_DAT_0003d03c)" ( (pointer_expression "**(code **)PTR_DAT_0003d03c" * (pointer_expression "*(code **)PTR_DAT_0003d03c" * (cast_expression "(code **)PTR_DAT_0003d03c" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc)" ( (pointer_expression "*(undefined4 *)PTR_DAT_0003d038" * (cast_expression "(undefined4 *)PTR_DAT_0003d038" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_DAT_0003d02c + -0x51b0" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003d02c + -0x4cfc" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" statement_identifier : (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;)) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x412c" identifier + number_literal) , identifier ))) ;) (labeled_statement "LAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);" statement_identifier : (expression_statement "iVar3 = FUN_0001fdfc(unaff_s2);" (assignment_expression "iVar3 = FUN_0001fdfc(unaff_s2)" identifier = (call_expression "FUN_0001fdfc(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier )))) ;)) (if_statement "if (iVar3 == 0) goto LAB_0001da08;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001da08;" goto statement_identifier ;)) (expression_statement "uVar4 = piVar2[0x3d];" (assignment_expression "uVar4 = piVar2[0x3d]" identifier = (subscript_expression "piVar2[0x3d]" identifier [ number_literal ])) ;) (if_statement "if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;" if (parenthesized_expression "((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0))" ( (binary_expression "(0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)" (parenthesized_expression "(0x3ff < (int)unaff_s2)" ( (binary_expression "0x3ff < (int)unaff_s2" number_literal < (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((uVar4 & 0x240) == 0)" ( (binary_expression "(uVar4 & 0x240) == 0" (parenthesized_expression "(uVar4 & 0x240)" ( (binary_expression "uVar4 & 0x240" identifier & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0001daac;" goto statement_identifier ;)) (labeled_statement "LAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }" statement_identifier : (if_statement "if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }" if (parenthesized_expression "(((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0))" ( (binary_expression "((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)" (parenthesized_expression "((uVar4 & 0x200) != 0)" ( (binary_expression "(uVar4 & 0x200) != 0" (parenthesized_expression "(uVar4 & 0x200)" ( (binary_expression "uVar4 & 0x200" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(piVar2[0x22] == 0)" ( (binary_expression "piVar2[0x22] == 0" (subscript_expression "piVar2[0x22]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }" { (if_statement "if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }" if (parenthesized_expression "((uVar4 & 4) != 0)" ( (binary_expression "(uVar4 & 4) != 0" (parenthesized_expression "(uVar4 & 4)" ( (binary_expression "uVar4 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4064)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4064" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) (expression_statement "iVar3 = FUN_000182d0(piVar2);" (assignment_expression "iVar3 = FUN_000182d0(piVar2)" identifier = (call_expression "FUN_000182d0(piVar2)" identifier (argument_list "(piVar2)" ( identifier )))) ;) (if_statement "if (iVar3 != 1) goto LAB_0001d46c;" if (parenthesized_expression "(iVar3 != 1)" ( (binary_expression "iVar3 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) }))) (expression_statement "param_2 = piVar2 + 0x25;" (assignment_expression "param_2 = piVar2 + 0x25" identifier = (binary_expression "piVar2 + 0x25" identifier + number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }" { (labeled_statement "LAB_0001d824:\n        piVar5 = piVar2 + 0x2b;" statement_identifier : (expression_statement "piVar5 = piVar2 + 0x2b;" (assignment_expression "piVar5 = piVar2 + 0x2b" identifier = (binary_expression "piVar2 + 0x2b" identifier + number_literal)) ;)) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }" { (if_statement "if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;" if (parenthesized_expression "((piVar2[0x3d] & 0x108U) != 8)" ( (binary_expression "(piVar2[0x3d] & 0x108U) != 8" (parenthesized_expression "(piVar2[0x3d] & 0x108U)" ( (binary_expression "piVar2[0x3d] & 0x108U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d504;" goto statement_identifier ;)) (expression_statement "uVar4 = piVar2[0x22];" (assignment_expression "uVar4 = piVar2[0x22]" identifier = (subscript_expression "piVar2[0x22]" identifier [ number_literal ])) ;) (if_statement "if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }" { (expression_statement "uVar17 = piVar2[0x3a];" (assignment_expression "uVar17 = piVar2[0x3a]" identifier = (subscript_expression "piVar2[0x3a]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);" (assignment_expression "iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130)" identifier = (call_expression "(*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130)" (parenthesized_expression "(*(code *)PTR_malloc_0003d1e0)" ( (pointer_expression "*(code *)PTR_malloc_0003d1e0" * (cast_expression "(code *)PTR_malloc_0003d1e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4 * 0x130)" ( (binary_expression "uVar4 * 0x130" identifier * number_literal) )))) ;) (expression_statement "piVar2[0x1d] = iVar3;" (assignment_expression "piVar2[0x1d] = iVar3" (subscript_expression "piVar2[0x1d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11 = PTR_DAT_0003d02c;" (assignment_expression "puVar11 = PTR_DAT_0003d02c" identifier = identifier) ;) (if_statement "if (iVar3 == 0) goto LAB_0001e05c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e05c;" goto statement_identifier ;)) (if_statement "if (uVar4 == 0) {\n              trap(7);\n            }" if (parenthesized_expression "(uVar4 == 0)" ( (binary_expression "uVar4 == 0" identifier == number_literal) )) (compound_statement "{\n              trap(7);\n            }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar20 = uVar17 / uVar4;" (assignment_expression "uVar20 = uVar17 / uVar4" identifier = (binary_expression "uVar17 / uVar4" identifier / identifier)) ;) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30)" identifier = (cast_expression "(code *)(PTR_LAB_0003d054 + -0x7d30)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0003d054 + -0x7d30)" ( (binary_expression "PTR_LAB_0003d054 + -0x7d30" identifier + number_literal) )))) ;) (expression_statement "puVar8 = PTR_LAB_0003d054 + -0x3aa8;" (assignment_expression "puVar8 = PTR_LAB_0003d054 + -0x3aa8" identifier = (binary_expression "PTR_LAB_0003d054 + -0x3aa8" identifier + number_literal)) ;) (do_statement "do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );" do (compound_statement "{\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            }" { (expression_statement "piVar19 = (int *)(iVar3 + iVar18);" (assignment_expression "piVar19 = (int *)(iVar3 + iVar18)" identifier = (cast_expression "(int *)(iVar3 + iVar18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + iVar18)" ( (binary_expression "iVar3 + iVar18" identifier + identifier) )))) ;) (expression_statement "piVar5 = piVar19;" (assignment_expression "piVar5 = piVar19" identifier = identifier) ;) (expression_statement "piVar9 = piVar2;" (assignment_expression "piVar9 = piVar2" identifier = identifier) ;) (do_statement "do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);" do (compound_statement "{\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              }" { (expression_statement "piVar10 = piVar9 + 4;" (assignment_expression "piVar10 = piVar9 + 4" identifier = (binary_expression "piVar9 + 4" identifier + number_literal)) ;) (expression_statement "iVar14 = piVar9[1];" (assignment_expression "iVar14 = piVar9[1]" identifier = (subscript_expression "piVar9[1]" identifier [ number_literal ])) ;) (expression_statement "iVar13 = piVar9[2];" (assignment_expression "iVar13 = piVar9[2]" identifier = (subscript_expression "piVar9[2]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar9[3];" (assignment_expression "iVar3 = piVar9[3]" identifier = (subscript_expression "piVar9[3]" identifier [ number_literal ])) ;) (expression_statement "*piVar5 = *piVar9;" (assignment_expression "*piVar5 = *piVar9" (pointer_expression "*piVar5" * identifier) = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "piVar5[1] = iVar14;" (assignment_expression "piVar5[1] = iVar14" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5[2] = iVar13;" (assignment_expression "piVar5[2] = iVar13" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5[3] = iVar3;" (assignment_expression "piVar5[3] = iVar3" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5 = piVar5 + 4;" (assignment_expression "piVar5 = piVar5 + 4" identifier = (binary_expression "piVar5 + 4" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar10;" (assignment_expression "piVar9 = piVar10" identifier = identifier) ;) }) while (parenthesized_expression "(piVar10 != piVar2 + 0x4c)" ( (binary_expression "piVar10 != piVar2 + 0x4c" identifier != (binary_expression "piVar2 + 0x4c" identifier + number_literal)) )) ;) (expression_statement "piVar19[0x1c] = (int)piVar2;" (assignment_expression "piVar19[0x1c] = (int)piVar2" (subscript_expression "piVar19[0x1c]" identifier [ number_literal ]) = (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar19[0x22] = 0;" (assignment_expression "piVar19[0x22] = 0" (subscript_expression "piVar19[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar19[0x1d] = 0;" (assignment_expression "piVar19[0x1d] = 0" (subscript_expression "piVar19[0x1d]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }" if (parenthesized_expression "((piVar2[0x3d] & 0x400U) == 0)" ( (binary_expression "(piVar2[0x3d] & 0x400U) == 0" (parenthesized_expression "(piVar2[0x3d] & 0x400U)" ( (binary_expression "piVar2[0x3d] & 0x400U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                piVar19[0x36] = -1;\n              }" { (expression_statement "piVar19[0x36] = -1;" (assignment_expression "piVar19[0x36] = -1" (subscript_expression "piVar19[0x36]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }" else (compound_statement "{\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }" { (expression_statement "iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);" (assignment_expression "iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080)" identifier = (call_expression "(*(code *)PTR_eventfd_0003d148)(0,0x80080)" (parenthesized_expression "(*(code *)PTR_eventfd_0003d148)" ( (pointer_expression "*(code *)PTR_eventfd_0003d148" * (cast_expression "(code *)PTR_eventfd_0003d148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0x80080)" ( number_literal , number_literal )))) ;) (expression_statement "piVar19[0x36] = iVar3;" (assignment_expression "piVar19[0x36] = iVar3" (subscript_expression "piVar19[0x36]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3fb8" identifier + number_literal) , identifier ))) ;) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;) })) (if_statement "if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }" if (parenthesized_expression "(((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3))" ( (binary_expression "((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)" (parenthesized_expression "((piVar2[0x3d] & 0x240U) == 0)" ( (binary_expression "(piVar2[0x3d] & 0x240U) == 0" (parenthesized_expression "(piVar2[0x3d] & 0x240U)" ( (binary_expression "piVar2[0x3d] & 0x240U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(0x3ff < iVar3)" ( (binary_expression "0x3ff < iVar3" number_literal < identifier) ))) )) (compound_statement "{\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3f78)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3f78" identifier + number_literal) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36])" identifier = (call_expression "(*(code *)PTR_close_0003d128)(piVar19[0x36])" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar19[0x36])" ( (subscript_expression "piVar19[0x36]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0001e054;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;)) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001e054;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;)) (expression_statement "uVar12 = 0x1977;" (assignment_expression "uVar12 = 0x1977" identifier = number_literal) ;) (goto_statement "goto LAB_0001d9b4;" goto statement_identifier ;) })) }))) (if_statement "if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }" if (parenthesized_expression "(piVar15 < (int *)(uVar17 % uVar4))" ( (binary_expression "piVar15 < (int *)(uVar17 % uVar4)" identifier < (cast_expression "(int *)(uVar17 % uVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar17 % uVar4)" ( (binary_expression "uVar17 % uVar4" identifier % identifier) )))) )) (compound_statement "{\n                piVar19[0x3a] = uVar20 + 1;\n              }" { (expression_statement "piVar19[0x3a] = uVar20 + 1;" (assignment_expression "piVar19[0x3a] = uVar20 + 1" (subscript_expression "piVar19[0x3a]" identifier [ number_literal ]) = (binary_expression "uVar20 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                piVar19[0x3a] = uVar20;\n              }" else (compound_statement "{\n                piVar19[0x3a] = uVar20;\n              }" { (expression_statement "piVar19[0x3a] = uVar20;" (assignment_expression "piVar19[0x3a] = uVar20" (subscript_expression "piVar19[0x3a]" identifier [ number_literal ]) = identifier) ;) }))) (if_statement "if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;" if (parenthesized_expression "(((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))" ( (binary_expression "((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1)" (parenthesized_expression "((piVar2[0x3d] & 0x200U) != 0)" ( (binary_expression "(piVar2[0x3d] & 0x200U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x200U)" ( (binary_expression "piVar2[0x3d] & 0x200U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(iVar3 = (*pcVar7)(piVar19), iVar3 != 1)" ( (comma_expression "iVar3 = (*pcVar7)(piVar19), iVar3 != 1" (assignment_expression "iVar3 = (*pcVar7)(piVar19)" identifier = (call_expression "(*pcVar7)(piVar19)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(piVar19)" ( identifier )))) , (binary_expression "iVar3 != 1" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar19 + 0x2b,0)" ( (binary_expression "piVar19 + 0x2b" identifier + number_literal) , number_literal )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0001e2a8;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e2a8;" goto statement_identifier ;)) (expression_statement "iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);" (assignment_expression "iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19)" identifier = (call_expression "FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19)" identifier (argument_list "(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19)" ( (binary_expression "piVar19 + 0x23" identifier + number_literal) , (binary_expression "puVar11 + -0x3eec" identifier + number_literal) , (subscript_expression "piVar2[0x21]" identifier [ number_literal ]) , identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }" { (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3ee0" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar19 + 0x2b)" ( (binary_expression "piVar19 + 0x2b" identifier + number_literal) )))) ;) (expression_statement "uVar12 = 0x19a1;" (assignment_expression "uVar12 = 0x19a1" identifier = number_literal) ;) (if_statement "if (iVar3 == 0) goto LAB_0001e054;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e054;" goto statement_identifier ;)) (goto_statement "goto LAB_0001e284;" goto statement_identifier ;) })) (expression_statement "piVar15 = (int *)((int)piVar15 + 1);" (assignment_expression "piVar15 = (int *)((int)piVar15 + 1)" identifier = (cast_expression "(int *)((int)piVar15 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar15 + 1)" ( (binary_expression "(int)piVar15 + 1" (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar18 = iVar18 + 0x130;" (assignment_expression "iVar18 = iVar18 + 0x130" identifier = (binary_expression "iVar18 + 0x130" identifier + number_literal)) ;) (if_statement "if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;" if (parenthesized_expression "((int *)piVar2[0x22] <= piVar15)" ( (binary_expression "(int *)piVar2[0x22] <= piVar15" (cast_expression "(int *)piVar2[0x22]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[0x22]" identifier [ number_literal ])) <= identifier) )) (goto_statement "goto LAB_0001d504;" goto statement_identifier ;)) (expression_statement "iVar3 = piVar2[0x1d];" (assignment_expression "iVar3 = piVar2[0x1d]" identifier = (subscript_expression "piVar2[0x1d]" identifier [ number_literal ])) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }" if (parenthesized_expression "((piVar2[0x3d] & 4U) == 0)" ( (binary_expression "(piVar2[0x3d] & 4U) == 0" (parenthesized_expression "(piVar2[0x3d] & 4U)" ( (binary_expression "piVar2[0x3d] & 4U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }" { (expression_statement "puVar11 = PTR_DAT_0003d02c + -0x43ec;" (assignment_expression "puVar11 = PTR_DAT_0003d02c + -0x43ec" identifier = (binary_expression "PTR_DAT_0003d02c + -0x43ec" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }" else (compound_statement "{\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }" { (expression_statement "puVar11 = PTR_DAT_0003d02c + -0x43f8;" (assignment_expression "puVar11 = PTR_DAT_0003d02c + -0x43f8" identifier = (binary_expression "PTR_DAT_0003d02c + -0x43f8" identifier + number_literal)) ;) }))) (expression_statement "iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;" (assignment_expression "iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)" identifier = (call_expression "FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)" identifier (argument_list "(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)" ( (binary_expression "piVar2 + 0x23" identifier + number_literal) , identifier , (subscript_expression "piVar2[0x21]" identifier [ number_literal ]) , (binary_expression "PTR_LAB_0003d054 + -0x3aa8" identifier + number_literal) , identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0001d504;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001d504;" goto statement_identifier ;)) (expression_statement "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*piVar15)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3fdc" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "uVar12 = 0x193b;" (assignment_expression "uVar12 = 0x193b" identifier = number_literal) ;) (if_statement "if (iVar3 != 0) goto LAB_0001e284;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e284;" goto statement_identifier ;)) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "uVar12 = 0x193c;" (assignment_expression "uVar12 = 0x193c" identifier = number_literal) ;) (if_statement "if (iVar3 != 0) goto LAB_0001e284;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e284;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;" if (parenthesized_expression "((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0))" ( (binary_expression "(unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)" (parenthesized_expression "(unaff_s2 == 0xffffffff)" ( (binary_expression "unaff_s2 == 0xffffffff" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "iVar3 = *piVar15;" (assignment_expression "iVar3 = *piVar15" identifier = (pointer_expression "*piVar15" * identifier)) ;) (expression_statement "uVar12 = 0x193e;" (assignment_expression "uVar12 = 0x193e" identifier = number_literal) ;) (goto_statement "goto joined_r0x0001de3c;" goto statement_identifier ;) })) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4014)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4014" identifier + number_literal) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "uVar12 = 0x190e;" (assignment_expression "uVar12 = 0x190e" identifier = number_literal) ;) (if_statement "if (iVar3 != 0) goto LAB_0001e284;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e284;" goto statement_identifier ;)) (if_statement "if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }" if (parenthesized_expression "((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))" ( (binary_expression "(unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)" (parenthesized_expression "(unaff_s2 != 0xffffffff)" ( (binary_expression "unaff_s2 != 0xffffffff" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)" ( (comma_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }" { (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = *piVar5;" (assignment_expression "iVar3 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "uVar12 = 0x1911;" (assignment_expression "uVar12 = 0x1911" identifier = number_literal) ;) (goto_statement "goto joined_r0x0001de3c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4014)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4014" identifier + number_literal) ))) ;) (if_statement "if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;" if (parenthesized_expression "(unaff_s2 == 0xffffffff)" ( (binary_expression "unaff_s2 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (labeled_statement "LAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" statement_identifier : (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;)) (if_statement "if (iVar3 == 0) goto LAB_0001d46c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = *piVar5;" (assignment_expression "iVar3 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "uVar12 = 0x1904;" (assignment_expression "uVar12 = 0x1904" identifier = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (labeled_statement "LAB_0001d388:\n  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;" statement_identifier : (if_statement "if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;" if (parenthesized_expression "(*(short *)(piVar2 + 0x3e) != 0)" ( (binary_expression "*(short *)(piVar2 + 0x3e) != 0" (pointer_expression "*(short *)(piVar2 + 0x3e)" * (cast_expression "(short *)(piVar2 + 0x3e)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x3e)" ( (binary_expression "piVar2 + 0x3e" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;))) (if_statement "if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;" if (parenthesized_expression "((piVar2[0x3d] & 0x100U) != 0)" ( (binary_expression "(piVar2[0x3d] & 0x100U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x100U)" ( (binary_expression "piVar2[0x3d] & 0x100U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;)) (expression_statement "uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);" (assignment_expression "uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80)" identifier = (call_expression "(*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80)" (parenthesized_expression "(*(code *)PTR_memset_0003d19c)" ( (pointer_expression "*(code *)PTR_memset_0003d19c" * (cast_expression "(code *)PTR_memset_0003d19c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_ac,0,0x80)" ( (pointer_expression "&local_ac" & identifier) , number_literal , number_literal )))) ;) (expression_statement "local_e0 = 0x80;" (assignment_expression "local_e0 = 0x80" identifier = number_literal) ;) (expression_statement "iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);" (assignment_expression "iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0)" identifier = (call_expression "(*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0)" (parenthesized_expression "(*(code *)PTR_getsockname_0003d15c)" ( (pointer_expression "*(code *)PTR_getsockname_0003d15c" * (cast_expression "(code *)PTR_getsockname_0003d15c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2,uVar12,&local_e0)" ( identifier , identifier , (pointer_expression "&local_e0" & identifier) )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0001db20;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001db20;" goto statement_identifier ;)) (if_statement "if (0x80 < local_e0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }" if (parenthesized_expression "(0x80 < local_e0)" ( (binary_expression "0x80 < local_e0" number_literal < identifier) )) (compound_statement "{\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4104)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4104" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;) })) (if_statement "if ((local_ac != 2) && (local_ac != 10)) {\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }" if (parenthesized_expression "((local_ac != 2) && (local_ac != 10))" ( (binary_expression "(local_ac != 2) && (local_ac != 10)" (parenthesized_expression "(local_ac != 2)" ( (binary_expression "local_ac != 2" identifier != number_literal) )) && (parenthesized_expression "(local_ac != 10)" ( (binary_expression "local_ac != 10" identifier != number_literal) ))) )) (compound_statement "{\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }" { (if_statement "if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }" if (parenthesized_expression "(local_ac != 1)" ( (binary_expression "local_ac != 1" identifier != number_literal) )) (compound_statement "{\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x40b8)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x40b8" identifier + number_literal) ))) ;) })) (expression_statement "*(undefined2 *)(piVar2 + 0x3e) = 0;" (assignment_expression "*(undefined2 *)(piVar2 + 0x3e) = 0" (pointer_expression "*(undefined2 *)(piVar2 + 0x3e)" * (cast_expression "(undefined2 *)(piVar2 + 0x3e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x3e)" ( (binary_expression "piVar2 + 0x3e" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;) })) (expression_statement "*(undefined2 *)(piVar2 + 0x3e) = local_aa;" (assignment_expression "*(undefined2 *)(piVar2 + 0x3e) = local_aa" (pointer_expression "*(undefined2 *)(piVar2 + 0x3e)" * (cast_expression "(undefined2 *)(piVar2 + 0x3e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x3e)" ( (binary_expression "piVar2 + 0x3e" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0001d394;" goto statement_identifier ;) (labeled_statement "LAB_0001da08:\n  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();" statement_identifier : (expression_statement "param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "param_2 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;)) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2)" identifier = (call_expression "(*(code *)PTR_strerror_0003d1dc)(*param_2)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" ( (pointer_expression "*(code *)PTR_strerror_0003d1dc" * (cast_expression "(code *)PTR_strerror_0003d1dc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*param_2)" ( (pointer_expression "*param_2" * identifier) )))) ;) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x409c" identifier + number_literal) , identifier ))) ;) (if_statement "if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }" if (parenthesized_expression "(((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0))" ( (binary_expression "((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)" (parenthesized_expression "((piVar2[0x3d] & 0x200U) != 0)" ( (binary_expression "(piVar2[0x3d] & 0x200U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x200U)" ( (binary_expression "piVar2[0x3d] & 0x200U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(piVar2[0x22] != 0)" ( (binary_expression "piVar2[0x22] != 0" (subscript_expression "piVar2[0x22]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }" { (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) goto LAB_0001d46c;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;)) (expression_statement "iVar3 = *param_2;" (assignment_expression "iVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar12 = 0x18d4;" (assignment_expression "uVar12 = 0x18d4" identifier = number_literal) ;) (goto_statement "goto joined_r0x0001de3c;" goto statement_identifier ;) })) (if_statement "if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }" if (parenthesized_expression "(((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0))" ( (binary_expression "((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)" (parenthesized_expression "((int)unaff_s2 < 0x400)" ( (binary_expression "(int)unaff_s2 < 0x400" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "((piVar2[0x3d] & 0x240U) != 0)" ( (binary_expression "(piVar2[0x3d] & 0x240U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x240U)" ( (binary_expression "piVar2[0x3d] & 0x240U" (subscript_expression "piVar2[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }" { (expression_statement "param_2 = piVar2 + 0x25;" (assignment_expression "param_2 = piVar2 + 0x25" identifier = (binary_expression "piVar2 + 0x25" identifier + number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" ( (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" * (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }" { (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4014)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4014" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0001d660;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001d824;" goto statement_identifier ;) })) (labeled_statement "LAB_0001daac:\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);" statement_identifier : (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4c5c" identifier + number_literal) , identifier , number_literal ))) ;)) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }" { (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = *piVar5;" (assignment_expression "iVar3 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "uVar12 = 0x18e3;" (assignment_expression "uVar12 = 0x18e3" identifier = number_literal) ;) (goto_statement "goto joined_r0x0001de3c;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d46c:\n  if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }" statement_identifier : (if_statement "if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }" if (parenthesized_expression "(piVar2[0x34] != -1)" ( (binary_expression "piVar2[0x34] != -1" (subscript_expression "piVar2[0x34]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_close_0003d128)();\n  }" { (expression_statement "(*(code *)PTR_close_0003d128)();" (call_expression "(*(code *)PTR_close_0003d128)()" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "(*(code *)PTR_free_0003d250)(piVar2[0x41]);" (call_expression "(*(code *)PTR_free_0003d250)(piVar2[0x41])" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2[0x41])" ( (subscript_expression "piVar2[0x41]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_7)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_0001e310;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e310;" goto statement_identifier ;)) (if_statement "if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }" if (parenthesized_expression "((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0))" ( (binary_expression "(piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)" (parenthesized_expression "(piVar2[0x36] != -1)" ( (binary_expression "piVar2[0x36] != -1" (subscript_expression "piVar2[0x36]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)" ( (comma_expression "iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)()" identifier = (call_expression "(*(code *)PTR_close_0003d128)()" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }" { (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = 0x19f0;" (assignment_expression "uVar12 = 0x19f0" identifier = number_literal) ;) (if_statement "if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }" if (parenthesized_expression "(*piVar5 == 9)" ( (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" * identifier) == number_literal) )) (compound_statement "{\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }" { (labeled_statement "LAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);" statement_identifier : (expression_statement "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);" (call_expression "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c)" (parenthesized_expression "(**(code **)PTR_DAT_0003d03c)" ( (pointer_expression "**(code **)PTR_DAT_0003d03c" * (pointer_expression "*(code **)PTR_DAT_0003d03c" * (cast_expression "(code **)PTR_DAT_0003d03c" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c)" ( (pointer_expression "*(undefined4 *)PTR_DAT_0003d038" * (cast_expression "(undefined4 *)PTR_DAT_0003d038" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_DAT_0003d02c + -0x51b0" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003d02c + -0x442c" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);" statement_identifier : (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4284)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x4284" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);" statement_identifier : (expression_statement "(*(code *)PTR_free_0003d250)(piVar2);" (call_expression "(*(code *)PTR_free_0003d250)(piVar2)" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;)) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0001d504;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(piVar2);" statement_identifier : (expression_statement "(*(code *)PTR_free_0003d250)(piVar2);" (call_expression "(*(code *)PTR_free_0003d250)(piVar2)" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;)) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0001d504:\n  do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );" statement_identifier : (do_statement "do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );" do (compound_statement "{\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  }" { (if_statement "if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }" if (parenthesized_expression "(local_2c == *(int *)puVar1)" ( (binary_expression "local_2c == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return piVar2;\n    }" { (return_statement "return piVar2;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_0003d21c)();" (call_expression "(*(code *)PTR___stack_chk_fail_0003d21c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0003d21c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0003d21c" * (cast_expression "(code *)PTR___stack_chk_fail_0003d21c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001e310:\n    uVar12 = 0x19e2;" statement_identifier : (expression_statement "uVar12 = 0x19e2;" (assignment_expression "uVar12 = 0x19e2" identifier = number_literal) ;)) (labeled_statement "LAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }" statement_identifier : (while_statement "while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }" { (expression_statement "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);" (call_expression "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414)" (parenthesized_expression "(**(code **)PTR_DAT_0003d03c)" ( (pointer_expression "**(code **)PTR_DAT_0003d03c" * (pointer_expression "*(code **)PTR_DAT_0003d03c" * (cast_expression "(code **)PTR_DAT_0003d03c" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414)" ( (pointer_expression "*(undefined4 *)PTR_DAT_0003d038" * (cast_expression "(undefined4 *)PTR_DAT_0003d038" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_DAT_0003d02c + -0x51b0" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003d02c + -0x4414" identifier + number_literal) ))) ;) (labeled_statement "LAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);" statement_identifier : (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20)" identifier (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3f20)" ( identifier , (binary_expression "PTR_DAT_0003d02c + -0x3f20" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;" statement_identifier : (expression_statement "puVar11 = PTR_MHD_stop_daemon_0003d168;" (assignment_expression "puVar11 = PTR_MHD_stop_daemon_0003d168" identifier = identifier) ;)) (if_statement "if (piVar15 != (int *)0x0) break;" if (parenthesized_expression "(piVar15 != (int *)0x0)" ( (binary_expression "piVar15 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }" statement_identifier : (if_statement "if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }" if (parenthesized_expression "((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))" ( (binary_expression "(unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)" (parenthesized_expression "(unaff_s2 != 0xffffffff)" ( (binary_expression "unaff_s2 != 0xffffffff" identifier != number_literal) )) && (parenthesized_expression "(iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)" ( (comma_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" ( (pointer_expression "*(code *)PTR_close_0003d128" * (cast_expression "(code *)PTR_close_0003d128" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }" { (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" ( (pointer_expression "*(code *)PTR___errno_location_0003d198" * (cast_expression "(code *)PTR___errno_location_0003d198" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = 0x19b9;" (assignment_expression "uVar12 = 0x19b9" identifier = number_literal) ;) (if_statement "if (*piVar5 == 9) goto LAB_0001db00;" if (parenthesized_expression "(*piVar5 == 9)" ( (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" * identifier) == number_literal) )) (goto_statement "goto LAB_0001db00;" goto statement_identifier ;)) }))) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2)" identifier = (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" ( (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" * (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "uVar12 = 0x19ba;" (assignment_expression "uVar12 = 0x19ba" identifier = number_literal) ;) (if_statement "if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }" { (if_statement "if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }" if (parenthesized_expression "(piVar2[0x1d] != 0)" ( (binary_expression "piVar2[0x1d] != 0" (subscript_expression "piVar2[0x1d]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          (*(code *)PTR_free_0003d250)();\n        }" { (expression_statement "(*(code *)PTR_free_0003d250)();" (call_expression "(*(code *)PTR_free_0003d250)()" (parenthesized_expression "(*(code *)PTR_free_0003d250)" ( (pointer_expression "*(code *)PTR_free_0003d250" * (cast_expression "(code *)PTR_free_0003d250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0001d46c;" goto statement_identifier ;) })) }))) (expression_statement "piVar2[0x22] = (int)piVar15;" (assignment_expression "piVar2[0x22] = (int)piVar15" (subscript_expression "piVar2[0x22]" identifier [ number_literal ]) = (cast_expression "(int)piVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(*(code *)puVar11)(piVar2);" (call_expression "(*(code *)puVar11)(piVar2)" (parenthesized_expression "(*(code *)puVar11)" ( (pointer_expression "*(code *)puVar11" * (cast_expression "(code *)puVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;) (expression_statement "unaff_s4 = param_2;" (assignment_expression "unaff_s4 = param_2" identifier = identifier) ;) (labeled_statement "LAB_0001d568:\n    param_2 = unaff_s4;" statement_identifier : (expression_statement "param_2 = unaff_s4;" (assignment_expression "param_2 = unaff_s4" identifier = identifier) ;)) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) ))) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & 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 ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }))) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (parenthesized_expression ( (binary_expression IDENT * LIT) )) / LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) })))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT % IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , 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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) while (parenthesized_expression ( BOOL )) ;)) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , LIT ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;)) })))
(function_definition "int * MHD_start_daemon_va(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)\n\n{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  code *pcVar7;\n  undefined *puVar8;\n  int *piVar9;\n  int *piVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  int iVar13;\n  int iVar14;\n  int *piVar15;\n  uint unaff_s2;\n  int *unaff_s4;\n  undefined2 uVar16;\n  uint uVar17;\n  int iVar18;\n  int *piVar19;\n  uint uVar20;\n  undefined4 local_e8;\n  undefined2 *local_e4;\n  uint local_e0;\n  uint local_dc;\n  undefined2 local_d8;\n  undefined2 local_d6;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined2 local_c8;\n  undefined2 local_c6;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  short local_ac;\n  undefined2 local_aa;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0003d244;\n  piVar15 = (int *)(param_1 & 2);\n  local_2c = *(int *)PTR___stack_chk_guard_0003d244;\n  local_e8 = 1;\n  local_e4 = (undefined2 *)0x0;\n  if (piVar15 != (int *)0x0) goto LAB_0001d568;\n  unaff_s2 = param_1;\n  if ((param_1 & 0x8000) != 0) {\n    unaff_s2 = param_1 | 0x2400;\n  }\n  unaff_s4 = param_2;\n  if (param_5 == 0) goto LAB_0001d568;\n  if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;\n  if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;\n  if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;\n  if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }\n  piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);\n  if (piVar2 == (int *)0x0) goto LAB_0001d568;\n  piVar2[0x33] = 0;\n  piVar2[0x34] = -1;\n  piVar2[0x32] = -1;\n  piVar2[0x36] = -1;\n  piVar2[0x3a] = 0x3fc;\n  piVar2[0x4b] = 0x80;\n  puVar11 = PTR_LAB_0003d054;\n  piVar2[0x1f] = 0x8000;\n  piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;\n  piVar2[0x20] = 0x400;\n  puVar8 = PTR_LAB_0003d054;\n  piVar2[0x1a] = (int)(puVar11 + -0x7d68);\n  puVar11 = PTR_stderr_0003d258;\n  piVar2[0x3d] = unaff_s2;\n  uVar16 = SUB42(param_2,0);\n  *(undefined2 *)(piVar2 + 0x3e) = uVar16;\n  piVar2[0x10] = param_3;\n  piVar2[0x11] = param_4;\n  *piVar2 = param_5;\n  piVar2[1] = param_6;\n  piVar2[0x39] = 0;\n  piVar2[0x18] = (int)(puVar8 + -0x7d48);\n  piVar2[0x3b] = 0;\n  piVar2[0x1b] = *(int *)puVar11;\n  if ((unaff_s2 & 0xc) == 4) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }\n  piVar2[0x48] = 0;\n  piVar2[0x40] = 0;\n  piVar2[0x49] = 4;\n  iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);\n  if (iVar3 != 1) goto LAB_0001d4f0;\n  uVar4 = piVar2[0x3d];\n  if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }\n  uVar4 = piVar2[0x49];\n  if (uVar4 != 0) {\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }\n  param_7 = piVar2 + 0x42;\n  iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);\n  if (iVar3 != 0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }\n  uVar4 = piVar2[0x3d];\n  if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }\n  unaff_s2 = piVar2[0x32];\n  if (unaff_s2 == 0xffffffff) {\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }\nLAB_0001d388:\n  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;\n  if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;\n  uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);\n  local_e0 = 0x80;\n  iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);\n  if (iVar3 != 0) goto LAB_0001db20;\n  if (0x80 < local_e0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }\n  if ((local_ac != 2) && (local_ac != 10)) {\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }\n  *(undefined2 *)(piVar2 + 0x3e) = local_aa;\n  goto LAB_0001d394;\nLAB_0001da08:\n  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();\n  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);\n  if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }\n  if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }\nLAB_0001daac:\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);\n  iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n  if (iVar3 != 0) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }\nLAB_0001d46c:\n  if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }\n  (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n  iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);\n  if (iVar3 != 0) goto LAB_0001e310;\n  if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }\nLAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(piVar2);\n  piVar2 = (int *)0x0;\nLAB_0001d504:\n  do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );\n}" (primitive_type "int") (pointer_declarator "* MHD_start_daemon_va(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)" (* "*") (function_declarator "MHD_start_daemon_va(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)" (identifier "MHD_start_daemon_va") (parameter_list "(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,\n                         int *param_7)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) (, ",") (parameter_declaration "int *param_7" (primitive_type "int") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")")))) (compound_statement "{\n  undefined *puVar1;\n  int *piVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 *puVar6;\n  code *pcVar7;\n  undefined *puVar8;\n  int *piVar9;\n  int *piVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  int iVar13;\n  int iVar14;\n  int *piVar15;\n  uint unaff_s2;\n  int *unaff_s4;\n  undefined2 uVar16;\n  uint uVar17;\n  int iVar18;\n  int *piVar19;\n  uint uVar20;\n  undefined4 local_e8;\n  undefined2 *local_e4;\n  uint local_e0;\n  uint local_dc;\n  undefined2 local_d8;\n  undefined2 local_d6;\n  undefined4 local_d4;\n  undefined4 local_d0;\n  undefined4 local_cc;\n  undefined2 local_c8;\n  undefined2 local_c6;\n  undefined4 local_c4;\n  undefined4 local_c0;\n  undefined4 local_bc;\n  undefined4 local_b8;\n  undefined4 local_b4;\n  undefined4 local_b0;\n  short local_ac;\n  undefined2 local_aa;\n  int local_2c;\n  \n  puVar1 = PTR___stack_chk_guard_0003d244;\n  piVar15 = (int *)(param_1 & 2);\n  local_2c = *(int *)PTR___stack_chk_guard_0003d244;\n  local_e8 = 1;\n  local_e4 = (undefined2 *)0x0;\n  if (piVar15 != (int *)0x0) goto LAB_0001d568;\n  unaff_s2 = param_1;\n  if ((param_1 & 0x8000) != 0) {\n    unaff_s2 = param_1 | 0x2400;\n  }\n  unaff_s4 = param_2;\n  if (param_5 == 0) goto LAB_0001d568;\n  if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;\n  if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;\n  if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;\n  if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }\n  piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);\n  if (piVar2 == (int *)0x0) goto LAB_0001d568;\n  piVar2[0x33] = 0;\n  piVar2[0x34] = -1;\n  piVar2[0x32] = -1;\n  piVar2[0x36] = -1;\n  piVar2[0x3a] = 0x3fc;\n  piVar2[0x4b] = 0x80;\n  puVar11 = PTR_LAB_0003d054;\n  piVar2[0x1f] = 0x8000;\n  piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;\n  piVar2[0x20] = 0x400;\n  puVar8 = PTR_LAB_0003d054;\n  piVar2[0x1a] = (int)(puVar11 + -0x7d68);\n  puVar11 = PTR_stderr_0003d258;\n  piVar2[0x3d] = unaff_s2;\n  uVar16 = SUB42(param_2,0);\n  *(undefined2 *)(piVar2 + 0x3e) = uVar16;\n  piVar2[0x10] = param_3;\n  piVar2[0x11] = param_4;\n  *piVar2 = param_5;\n  piVar2[1] = param_6;\n  piVar2[0x39] = 0;\n  piVar2[0x18] = (int)(puVar8 + -0x7d48);\n  piVar2[0x3b] = 0;\n  piVar2[0x1b] = *(int *)puVar11;\n  if ((unaff_s2 & 0xc) == 4) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }\n  piVar2[0x48] = 0;\n  piVar2[0x40] = 0;\n  piVar2[0x49] = 4;\n  iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);\n  if (iVar3 != 1) goto LAB_0001d4f0;\n  uVar4 = piVar2[0x3d];\n  if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }\n  uVar4 = piVar2[0x49];\n  if (uVar4 != 0) {\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }\n  param_7 = piVar2 + 0x42;\n  iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);\n  if (iVar3 != 0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }\n  uVar4 = piVar2[0x3d];\n  if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }\n  unaff_s2 = piVar2[0x32];\n  if (unaff_s2 == 0xffffffff) {\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }\nLAB_0001d388:\n  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;\n  if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;\n  uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);\n  local_e0 = 0x80;\n  iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);\n  if (iVar3 != 0) goto LAB_0001db20;\n  if (0x80 < local_e0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }\n  if ((local_ac != 2) && (local_ac != 10)) {\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }\n  *(undefined2 *)(piVar2 + 0x3e) = local_aa;\n  goto LAB_0001d394;\nLAB_0001da08:\n  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();\n  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);\n  if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }\n  if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }\nLAB_0001daac:\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);\n  iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n  if (iVar3 != 0) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }\nLAB_0001d46c:\n  if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }\n  (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n  iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);\n  if (iVar3 != 0) goto LAB_0001e310;\n  if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }\nLAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(piVar2);\n  piVar2 = (int *)0x0;\nLAB_0001d504:\n  do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "code *pcVar7;" (type_identifier "code") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "uint unaff_s2;" (type_identifier "uint") (identifier "unaff_s2") (; ";")) (declaration "int *unaff_s4;" (primitive_type "int") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "undefined2 uVar16;" (type_identifier "undefined2") (identifier "uVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int *piVar19;" (primitive_type "int") (pointer_declarator "*piVar19" (* "*") (identifier "piVar19")) (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "undefined4 local_e8;" (type_identifier "undefined4") (identifier "local_e8") (; ";")) (declaration "undefined2 *local_e4;" (type_identifier "undefined2") (pointer_declarator "*local_e4" (* "*") (identifier "local_e4")) (; ";")) (declaration "uint local_e0;" (type_identifier "uint") (identifier "local_e0") (; ";")) (declaration "uint local_dc;" (type_identifier "uint") (identifier "local_dc") (; ";")) (declaration "undefined2 local_d8;" (type_identifier "undefined2") (identifier "local_d8") (; ";")) (declaration "undefined2 local_d6;" (type_identifier "undefined2") (identifier "local_d6") (; ";")) (declaration "undefined4 local_d4;" (type_identifier "undefined4") (identifier "local_d4") (; ";")) (declaration "undefined4 local_d0;" (type_identifier "undefined4") (identifier "local_d0") (; ";")) (declaration "undefined4 local_cc;" (type_identifier "undefined4") (identifier "local_cc") (; ";")) (declaration "undefined2 local_c8;" (type_identifier "undefined2") (identifier "local_c8") (; ";")) (declaration "undefined2 local_c6;" (type_identifier "undefined2") (identifier "local_c6") (; ";")) (declaration "undefined4 local_c4;" (type_identifier "undefined4") (identifier "local_c4") (; ";")) (declaration "undefined4 local_c0;" (type_identifier "undefined4") (identifier "local_c0") (; ";")) (declaration "undefined4 local_bc;" (type_identifier "undefined4") (identifier "local_bc") (; ";")) (declaration "undefined4 local_b8;" (type_identifier "undefined4") (identifier "local_b8") (; ";")) (declaration "undefined4 local_b4;" (type_identifier "undefined4") (identifier "local_b4") (; ";")) (declaration "undefined4 local_b0;" (type_identifier "undefined4") (identifier "local_b0") (; ";")) (declaration "short local_ac;" (sized_type_specifier "short" (short "short")) (identifier "local_ac") (; ";")) (declaration "undefined2 local_aa;" (type_identifier "undefined2") (identifier "local_aa") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_0003d244;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0003d244" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_0003d244")) (; ";")) (expression_statement "piVar15 = (int *)(param_1 & 2);" (assignment_expression "piVar15 = (int *)(param_1 & 2)" (identifier "piVar15") (= "=") (cast_expression "(int *)(param_1 & 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 & 2)" (( "(") (binary_expression "param_1 & 2" (identifier "param_1") (& "&") (number_literal "2")) () ")")))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0003d244;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0003d244" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0003d244" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0003d244" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0003d244")))) (; ";")) (expression_statement "local_e8 = 1;" (assignment_expression "local_e8 = 1" (identifier "local_e8") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_e4 = (undefined2 *)0x0;" (assignment_expression "local_e4 = (undefined2 *)0x0" (identifier "local_e4") (= "=") (cast_expression "(undefined2 *)0x0" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (piVar15 != (int *)0x0) goto LAB_0001d568;" (if "if") (parenthesized_expression "(piVar15 != (int *)0x0)" (( "(") (binary_expression "piVar15 != (int *)0x0" (identifier "piVar15") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001d568;" (goto "goto") (statement_identifier "LAB_0001d568") (; ";"))) (expression_statement "unaff_s2 = param_1;" (assignment_expression "unaff_s2 = param_1" (identifier "unaff_s2") (= "=") (identifier "param_1")) (; ";")) (if_statement "if ((param_1 & 0x8000) != 0) {\n    unaff_s2 = param_1 | 0x2400;\n  }" (if "if") (parenthesized_expression "((param_1 & 0x8000) != 0)" (( "(") (binary_expression "(param_1 & 0x8000) != 0" (parenthesized_expression "(param_1 & 0x8000)" (( "(") (binary_expression "param_1 & 0x8000" (identifier "param_1") (& "&") (number_literal "0x8000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    unaff_s2 = param_1 | 0x2400;\n  }" ({ "{") (expression_statement "unaff_s2 = param_1 | 0x2400;" (assignment_expression "unaff_s2 = param_1 | 0x2400" (identifier "unaff_s2") (= "=") (binary_expression "param_1 | 0x2400" (identifier "param_1") (| "|") (number_literal "0x2400"))) (; ";")) (} "}"))) (expression_statement "unaff_s4 = param_2;" (assignment_expression "unaff_s4 = param_2" (identifier "unaff_s4") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (param_5 == 0) goto LAB_0001d568;" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d568;" (goto "goto") (statement_identifier "LAB_0001d568") (; ";"))) (if_statement "if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;" (if "if") (parenthesized_expression "((unaff_s2 & 0x240) == 0x240)" (( "(") (binary_expression "(unaff_s2 & 0x240) == 0x240" (parenthesized_expression "(unaff_s2 & 0x240)" (( "(") (binary_expression "unaff_s2 & 0x240" (identifier "unaff_s2") (& "&") (number_literal "0x240")) () ")")) (== "==") (number_literal "0x240")) () ")")) (goto_statement "goto LAB_0001d568;" (goto "goto") (statement_identifier "LAB_0001d568") (; ";"))) (if_statement "if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;" (if "if") (parenthesized_expression "((unaff_s2 & 0x204) == 0x204)" (( "(") (binary_expression "(unaff_s2 & 0x204) == 0x204" (parenthesized_expression "(unaff_s2 & 0x204)" (( "(") (binary_expression "unaff_s2 & 0x204" (identifier "unaff_s2") (& "&") (number_literal "0x204")) () ")")) (== "==") (number_literal "0x204")) () ")")) (goto_statement "goto LAB_0001d568;" (goto "goto") (statement_identifier "LAB_0001d568") (; ";"))) (if_statement "if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;" (if "if") (parenthesized_expression "((unaff_s2 & 0x4c) == 0x40)" (( "(") (binary_expression "(unaff_s2 & 0x4c) == 0x40" (parenthesized_expression "(unaff_s2 & 0x4c)" (( "(") (binary_expression "unaff_s2 & 0x4c" (identifier "unaff_s2") (& "&") (number_literal "0x4c")) () ")")) (== "==") (number_literal "0x40")) () ")")) (goto_statement "goto LAB_0001d568;" (goto "goto") (statement_identifier "LAB_0001d568") (; ";"))) (if_statement "if ((int)(unaff_s2 << 0xf) < 0) {\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }" (if "if") (parenthesized_expression "((int)(unaff_s2 << 0xf) < 0)" (( "(") (binary_expression "(int)(unaff_s2 << 0xf) < 0" (cast_expression "(int)(unaff_s2 << 0xf)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(unaff_s2 << 0xf)" (( "(") (binary_expression "unaff_s2 << 0xf" (identifier "unaff_s2") (<< "<<") (number_literal "0xf")) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;\n    if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }\n  }" ({ "{") (if_statement "if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;" (if "if") (parenthesized_expression "((unaff_s2 & 0x240) != 0)" (( "(") (binary_expression "(unaff_s2 & 0x240) != 0" (parenthesized_expression "(unaff_s2 & 0x240)" (( "(") (binary_expression "unaff_s2 & 0x240" (identifier "unaff_s2") (& "&") (number_literal "0x240")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d568;" (goto "goto") (statement_identifier "LAB_0001d568") (; ";"))) (if_statement "if ((unaff_s2 & 4) == 0) {\n      unaff_s2 = unaff_s2 | 0x200;\n    }\n    else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }" (if "if") (parenthesized_expression "((unaff_s2 & 4) == 0)" (( "(") (binary_expression "(unaff_s2 & 4) == 0" (parenthesized_expression "(unaff_s2 & 4)" (( "(") (binary_expression "unaff_s2 & 4" (identifier "unaff_s2") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      unaff_s2 = unaff_s2 | 0x200;\n    }" ({ "{") (expression_statement "unaff_s2 = unaff_s2 | 0x200;" (assignment_expression "unaff_s2 = unaff_s2 | 0x200" (identifier "unaff_s2") (= "=") (binary_expression "unaff_s2 | 0x200" (identifier "unaff_s2") (| "|") (number_literal "0x200"))) (; ";")) (} "}")) (else_clause "else {\n      unaff_s2 = unaff_s2 | 0x40;\n    }" (else "else") (compound_statement "{\n      unaff_s2 = unaff_s2 | 0x40;\n    }" ({ "{") (expression_statement "unaff_s2 = unaff_s2 | 0x40;" (assignment_expression "unaff_s2 = unaff_s2 | 0x40" (identifier "unaff_s2") (= "=") (binary_expression "unaff_s2 | 0x40" (identifier "unaff_s2") (| "|") (number_literal "0x40"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(code *)PTR_calloc_0003d120)(1,0x130)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_calloc_0003d120)(1,0x130)" (parenthesized_expression "(*(code *)PTR_calloc_0003d120)" (( "(") (pointer_expression "*(code *)PTR_calloc_0003d120" (* "*") (cast_expression "(code *)PTR_calloc_0003d120" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_calloc_0003d120"))) () ")")) (argument_list "(1,0x130)" (( "(") (number_literal "1") (, ",") (number_literal "0x130") () ")"))))) (; ";")) (if_statement "if (piVar2 == (int *)0x0) goto LAB_0001d568;" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001d568;" (goto "goto") (statement_identifier "LAB_0001d568") (; ";"))) (expression_statement "piVar2[0x33] = 0;" (assignment_expression "piVar2[0x33] = 0" (subscript_expression "piVar2[0x33]" (identifier "piVar2") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x34] = -1;" (assignment_expression "piVar2[0x34] = -1" (subscript_expression "piVar2[0x34]" (identifier "piVar2") ([ "[") (number_literal "0x34") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[0x32] = -1;" (assignment_expression "piVar2[0x32] = -1" (subscript_expression "piVar2[0x32]" (identifier "piVar2") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[0x36] = -1;" (assignment_expression "piVar2[0x36] = -1" (subscript_expression "piVar2[0x36]" (identifier "piVar2") ([ "[") (number_literal "0x36") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[0x3a] = 0x3fc;" (assignment_expression "piVar2[0x3a] = 0x3fc" (subscript_expression "piVar2[0x3a]" (identifier "piVar2") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (number_literal "0x3fc")) (; ";")) (expression_statement "piVar2[0x4b] = 0x80;" (assignment_expression "piVar2[0x4b] = 0x80" (subscript_expression "piVar2[0x4b]" (identifier "piVar2") ([ "[") (number_literal "0x4b") (] "]")) (= "=") (number_literal "0x80")) (; ";")) (expression_statement "puVar11 = PTR_LAB_0003d054;" (assignment_expression "puVar11 = PTR_LAB_0003d054" (identifier "puVar11") (= "=") (identifier "PTR_LAB_0003d054")) (; ";")) (expression_statement "piVar2[0x1f] = 0x8000;" (assignment_expression "piVar2[0x1f] = 0x8000" (subscript_expression "piVar2[0x1f]" (identifier "piVar2") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (number_literal "0x8000")) (; ";")) (expression_statement "piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;" (assignment_expression "piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f" (subscript_expression "piVar2[0x3f]" (identifier "piVar2") ([ "[") (number_literal "0x3f") (] "]")) (= "=") (binary_expression "(unaff_s2 << 0x1a) >> 0x1f" (parenthesized_expression "(unaff_s2 << 0x1a)" (( "(") (binary_expression "unaff_s2 << 0x1a" (identifier "unaff_s2") (<< "<<") (number_literal "0x1a")) () ")")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "piVar2[0x20] = 0x400;" (assignment_expression "piVar2[0x20] = 0x400" (subscript_expression "piVar2[0x20]" (identifier "piVar2") ([ "[") (number_literal "0x20") (] "]")) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "puVar8 = PTR_LAB_0003d054;" (assignment_expression "puVar8 = PTR_LAB_0003d054" (identifier "puVar8") (= "=") (identifier "PTR_LAB_0003d054")) (; ";")) (expression_statement "piVar2[0x1a] = (int)(puVar11 + -0x7d68);" (assignment_expression "piVar2[0x1a] = (int)(puVar11 + -0x7d68)" (subscript_expression "piVar2[0x1a]" (identifier "piVar2") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (cast_expression "(int)(puVar11 + -0x7d68)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar11 + -0x7d68)" (( "(") (binary_expression "puVar11 + -0x7d68" (identifier "puVar11") (+ "+") (number_literal "-0x7d68")) () ")")))) (; ";")) (expression_statement "puVar11 = PTR_stderr_0003d258;" (assignment_expression "puVar11 = PTR_stderr_0003d258" (identifier "puVar11") (= "=") (identifier "PTR_stderr_0003d258")) (; ";")) (expression_statement "piVar2[0x3d] = unaff_s2;" (assignment_expression "piVar2[0x3d] = unaff_s2" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "uVar16 = SUB42(param_2,0);" (assignment_expression "uVar16 = SUB42(param_2,0)" (identifier "uVar16") (= "=") (call_expression "SUB42(param_2,0)" (identifier "SUB42") (argument_list "(param_2,0)" (( "(") (identifier "param_2") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(undefined2 *)(piVar2 + 0x3e) = uVar16;" (assignment_expression "*(undefined2 *)(piVar2 + 0x3e) = uVar16" (pointer_expression "*(undefined2 *)(piVar2 + 0x3e)" (* "*") (cast_expression "(undefined2 *)(piVar2 + 0x3e)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 0x3e)" (( "(") (binary_expression "piVar2 + 0x3e" (identifier "piVar2") (+ "+") (number_literal "0x3e")) () ")")))) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "piVar2[0x10] = param_3;" (assignment_expression "piVar2[0x10] = param_3" (subscript_expression "piVar2[0x10]" (identifier "piVar2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar2[0x11] = param_4;" (assignment_expression "piVar2[0x11] = param_4" (subscript_expression "piVar2[0x11]" (identifier "piVar2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*piVar2 = param_5;" (assignment_expression "*piVar2 = param_5" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "piVar2[1] = param_6;" (assignment_expression "piVar2[1] = param_6" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "piVar2[0x39] = 0;" (assignment_expression "piVar2[0x39] = 0" (subscript_expression "piVar2[0x39]" (identifier "piVar2") ([ "[") (number_literal "0x39") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x18] = (int)(puVar8 + -0x7d48);" (assignment_expression "piVar2[0x18] = (int)(puVar8 + -0x7d48)" (subscript_expression "piVar2[0x18]" (identifier "piVar2") ([ "[") (number_literal "0x18") (] "]")) (= "=") (cast_expression "(int)(puVar8 + -0x7d48)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar8 + -0x7d48)" (( "(") (binary_expression "puVar8 + -0x7d48" (identifier "puVar8") (+ "+") (number_literal "-0x7d48")) () ")")))) (; ";")) (expression_statement "piVar2[0x3b] = 0;" (assignment_expression "piVar2[0x3b] = 0" (subscript_expression "piVar2[0x3b]" (identifier "piVar2") ([ "[") (number_literal "0x3b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1b] = *(int *)puVar11;" (assignment_expression "piVar2[0x1b] = *(int *)puVar11" (subscript_expression "piVar2[0x1b]" (identifier "piVar2") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (pointer_expression "*(int *)puVar11" (* "*") (cast_expression "(int *)puVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar11")))) (; ";")) (if_statement "if ((unaff_s2 & 0xc) == 4) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }\n  else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }" (if "if") (parenthesized_expression "((unaff_s2 & 0xc) == 4)" (( "(") (binary_expression "(unaff_s2 & 0xc) == 4" (parenthesized_expression "(unaff_s2 & 0xc)" (( "(") (binary_expression "unaff_s2 & 0xc" (identifier "unaff_s2") (& "&") (number_literal "0xc")) () ")")) (== "==") (number_literal "4")) () ")")) (compound_statement "{\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);\n    unaff_s2 = piVar2[0x3d] | 8;\n    piVar2[0x3d] = unaff_s2;\nLAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }\n  }" ({ "{") (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x43e0)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x43e0" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x43e0")) () ")"))) (; ";")) (expression_statement "unaff_s2 = piVar2[0x3d] | 8;" (assignment_expression "unaff_s2 = piVar2[0x3d] | 8" (identifier "unaff_s2") (= "=") (binary_expression "piVar2[0x3d] | 8" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (| "|") (number_literal "8"))) (; ";")) (expression_statement "piVar2[0x3d] = unaff_s2;" (assignment_expression "piVar2[0x3d] = unaff_s2" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (identifier "unaff_s2")) (; ";")) (labeled_statement "LAB_0001d440:\n    if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }" (statement_identifier "LAB_0001d440") (: ":") (if_statement "if ((unaff_s2 & 0x100) != 0) {\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }" (if "if") (parenthesized_expression "((unaff_s2 & 0x100) != 0)" (( "(") (binary_expression "(unaff_s2 & 0x100) != 0" (parenthesized_expression "(unaff_s2 & 0x100)" (( "(") (binary_expression "unaff_s2 & 0x100" (identifier "unaff_s2") (& "&") (number_literal "0x100")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      unaff_s2 = unaff_s2 | 0x400;\n      piVar2[0x3d] = unaff_s2;\n    }" ({ "{") (expression_statement "unaff_s2 = unaff_s2 | 0x400;" (assignment_expression "unaff_s2 = unaff_s2 | 0x400" (identifier "unaff_s2") (= "=") (binary_expression "unaff_s2 | 0x400" (identifier "unaff_s2") (| "|") (number_literal "0x400"))) (; ";")) (expression_statement "piVar2[0x3d] = unaff_s2;" (assignment_expression "piVar2[0x3d] = unaff_s2" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (identifier "unaff_s2")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }" (else "else") (compound_statement "{\n    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;\n    unaff_s2 = unaff_s2 & 0xfffffbff;\n    piVar2[0x3d] = unaff_s2;\n  }" ({ "{") (if_statement "if ((unaff_s2 & 8) != 0) goto LAB_0001d440;" (if "if") (parenthesized_expression "((unaff_s2 & 8) != 0)" (( "(") (binary_expression "(unaff_s2 & 8) != 0" (parenthesized_expression "(unaff_s2 & 8)" (( "(") (binary_expression "unaff_s2 & 8" (identifier "unaff_s2") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d440;" (goto "goto") (statement_identifier "LAB_0001d440") (; ";"))) (expression_statement "unaff_s2 = unaff_s2 & 0xfffffbff;" (assignment_expression "unaff_s2 = unaff_s2 & 0xfffffbff" (identifier "unaff_s2") (= "=") (binary_expression "unaff_s2 & 0xfffffbff" (identifier "unaff_s2") (& "&") (number_literal "0xfffffbff"))) (; ";")) (expression_statement "piVar2[0x3d] = unaff_s2;" (assignment_expression "piVar2[0x3d] = unaff_s2" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (identifier "unaff_s2")) (; ";")) (} "}")))) (expression_statement "piVar2[0x48] = 0;" (assignment_expression "piVar2[0x48] = 0" (subscript_expression "piVar2[0x48]" (identifier "piVar2") ([ "[") (number_literal "0x48") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x40] = 0;" (assignment_expression "piVar2[0x40] = 0" (subscript_expression "piVar2[0x40]" (identifier "piVar2") ([ "[") (number_literal "0x40") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x49] = 4;" (assignment_expression "piVar2[0x49] = 4" (subscript_expression "piVar2[0x49]" (identifier "piVar2") ([ "[") (number_literal "0x49") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);" (assignment_expression "iVar3 = FUN_00017d48(piVar2,&local_e4,param_7)" (identifier "iVar3") (= "=") (call_expression "FUN_00017d48(piVar2,&local_e4,param_7)" (identifier "FUN_00017d48") (argument_list "(piVar2,&local_e4,param_7)" (( "(") (identifier "piVar2") (, ",") (pointer_expression "&local_e4" (& "&") (identifier "local_e4")) (, ",") (identifier "param_7") () ")")))) (; ";")) (if_statement "if (iVar3 != 1) goto LAB_0001d4f0;" (if "if") (parenthesized_expression "(iVar3 != 1)" (( "(") (binary_expression "iVar3 != 1" (identifier "iVar3") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_0001d4f0;" (goto "goto") (statement_identifier "LAB_0001d4f0") (; ";"))) (expression_statement "uVar4 = piVar2[0x3d];" (assignment_expression "uVar4 = piVar2[0x3d]" (identifier "uVar4") (= "=") (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]"))) (; ";")) (if_statement "if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }\n  else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }" (if "if") (parenthesized_expression "((piVar2[0x12] == 0) || ((uVar4 & 4) == 0))" (( "(") (binary_expression "(piVar2[0x12] == 0) || ((uVar4 & 4) == 0)" (parenthesized_expression "(piVar2[0x12] == 0)" (( "(") (binary_expression "piVar2[0x12] == 0" (subscript_expression "piVar2[0x12]" (identifier "piVar2") ([ "[") (number_literal "0x12") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((uVar4 & 4) == 0)" (( "(") (binary_expression "(uVar4 & 4) == 0" (parenthesized_expression "(uVar4 & 4)" (( "(") (binary_expression "uVar4 & 4" (identifier "uVar4") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }\n  }" ({ "{") (if_statement "if ((uVar4 & 0x400) != 0) {\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }" (if "if") (parenthesized_expression "((uVar4 & 0x400) != 0)" (( "(") (binary_expression "(uVar4 & 0x400) != 0" (parenthesized_expression "(uVar4 & 0x400)" (( "(") (binary_expression "uVar4 & 0x400" (identifier "uVar4") (& "&") (number_literal "0x400")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar3 = piVar2[0x22];\n      goto LAB_0001d2f4;\n    }" ({ "{") (expression_statement "iVar3 = piVar2[0x22];" (assignment_expression "iVar3 = piVar2[0x22]" (identifier "iVar3") (= "=") (subscript_expression "piVar2[0x22]" (identifier "piVar2") ([ "[") (number_literal "0x22") (] "]"))) (; ";")) (goto_statement "goto LAB_0001d2f4;" (goto "goto") (statement_identifier "LAB_0001d2f4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    piVar2[0x3d] = uVar4 | 0x400;\n    iVar3 = piVar2[0x22];\nLAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }\n  }" ({ "{") (expression_statement "piVar2[0x3d] = uVar4 | 0x400;" (assignment_expression "piVar2[0x3d] = uVar4 | 0x400" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (binary_expression "uVar4 | 0x400" (identifier "uVar4") (| "|") (number_literal "0x400"))) (; ";")) (expression_statement "iVar3 = piVar2[0x22];" (assignment_expression "iVar3 = piVar2[0x22]" (identifier "iVar3") (= "=") (subscript_expression "piVar2[0x22]" (identifier "piVar2") ([ "[") (number_literal "0x22") (] "]"))) (; ";")) (labeled_statement "LAB_0001d2f4:\n    if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }" (statement_identifier "LAB_0001d2f4") (: ":") (if_statement "if (iVar3 == 0) {\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n      piVar2[0x36] = iVar3;\n      if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }\n      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }\n    }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);" (assignment_expression "iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_eventfd_0003d148)(0,0x80080)" (parenthesized_expression "(*(code *)PTR_eventfd_0003d148)" (( "(") (pointer_expression "*(code *)PTR_eventfd_0003d148" (* "*") (cast_expression "(code *)PTR_eventfd_0003d148" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_eventfd_0003d148"))) () ")")) (argument_list "(0,0x80080)" (( "(") (number_literal "0") (, ",") (number_literal "0x80080") () ")")))) (; ";")) (expression_statement "piVar2[0x36] = iVar3;" (assignment_expression "piVar2[0x36] = iVar3" (subscript_expression "piVar2[0x36]" (identifier "piVar2") ([ "[") (number_literal "0x36") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 == -1) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }" (if "if") (parenthesized_expression "(iVar3 == -1)" (( "(") (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);\n        goto LAB_0001d9f0;\n      }" ({ "{") (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*puVar6)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4310" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4310")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (goto_statement "goto LAB_0001d9f0;" (goto "goto") (statement_identifier "LAB_0001d9f0") (; ";")) (} "}"))) (if_statement "if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }" (if "if") (parenthesized_expression "(((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3))" (( "(") (binary_expression "((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)" (parenthesized_expression "((piVar2[0x3d] & 0x240U) == 0)" (( "(") (binary_expression "(piVar2[0x3d] & 0x240U) == 0" (parenthesized_expression "(piVar2[0x3d] & 0x240U)" (( "(") (binary_expression "piVar2[0x3d] & 0x240U" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x240U")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(0x3ff < iVar3)" (( "(") (binary_expression "0x3ff < iVar3" (number_literal "0x3ff") (< "<") (identifier "iVar3")) () ")"))) () ")")) (compound_statement "{\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);\n        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);\n        if (iVar3 == 0) goto LAB_0001d4f0;\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x172d;\n        if (*piVar5 != 9) goto LAB_0001d4f0;\n        goto LAB_0001d9b4;\n      }" ({ "{") (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x42d4)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x42d4" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x42d4")) () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36])" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_close_0003d128)(piVar2[0x36])" (parenthesized_expression "(*(code *)PTR_close_0003d128)" (( "(") (pointer_expression "*(code *)PTR_close_0003d128" (* "*") (cast_expression "(code *)PTR_close_0003d128" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_0003d128"))) () ")")) (argument_list "(piVar2[0x36])" (( "(") (subscript_expression "piVar2[0x36]" (identifier "piVar2") ([ "[") (number_literal "0x36") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_0001d4f0;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d4f0;" (goto "goto") (statement_identifier "LAB_0001d4f0") (; ";"))) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = 0x172d;" (assignment_expression "uVar12 = 0x172d" (identifier "uVar12") (= "=") (number_literal "0x172d")) (; ";")) (if_statement "if (*piVar5 != 9) goto LAB_0001d4f0;" (if "if") (parenthesized_expression "(*piVar5 != 9)" (( "(") (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001d4f0;" (goto "goto") (statement_identifier "LAB_0001d4f0") (; ";"))) (goto_statement "goto LAB_0001d9b4;" (goto "goto") (statement_identifier "LAB_0001d9b4") (; ";")) (} "}"))) (} "}")))) (} "}")))) (expression_statement "uVar4 = piVar2[0x49];" (assignment_expression "uVar4 = piVar2[0x49]" (identifier "uVar4") (= "=") (subscript_expression "piVar2[0x49]" (identifier "piVar2") ([ "[") (number_literal "0x49") (] "]"))) (; ";")) (if_statement "if (uVar4 != 0) {\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }" (if "if") (parenthesized_expression "(uVar4 != 0)" (( "(") (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;\n    iVar3 = (*(code *)PTR_malloc_0003d1e0)();\n    piVar2[0x41] = iVar3;\n    if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }\n  }" ({ "{") (if_statement "if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;" (if "if") (parenthesized_expression "(uVar4 != (uVar4 * 0x98) / 0x98)" (( "(") (binary_expression "uVar4 != (uVar4 * 0x98) / 0x98" (identifier "uVar4") (!= "!=") (binary_expression "(uVar4 * 0x98) / 0x98" (parenthesized_expression "(uVar4 * 0x98)" (( "(") (binary_expression "uVar4 * 0x98" (identifier "uVar4") (* "*") (number_literal "0x98")) () ")")) (/ "/") (number_literal "0x98"))) () ")")) (goto_statement "goto LAB_0001d9d8;" (goto "goto") (statement_identifier "LAB_0001d9d8") (; ";"))) (expression_statement "iVar3 = (*(code *)PTR_malloc_0003d1e0)();" (assignment_expression "iVar3 = (*(code *)PTR_malloc_0003d1e0)()" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_malloc_0003d1e0)()" (parenthesized_expression "(*(code *)PTR_malloc_0003d1e0)" (( "(") (pointer_expression "*(code *)PTR_malloc_0003d1e0" (* "*") (cast_expression "(code *)PTR_malloc_0003d1e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_malloc_0003d1e0"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar2[0x41] = iVar3;" (assignment_expression "piVar2[0x41] = iVar3" (subscript_expression "piVar2[0x41]" (identifier "piVar2") ([ "[") (number_literal "0x41") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 == 0) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);\n      goto LAB_0001d9f0;\n    }" ({ "{") (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*puVar6)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x425c" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x425c")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (goto_statement "goto LAB_0001d9f0;" (goto "goto") (statement_identifier "LAB_0001d9f0") (; ";")) (} "}"))) (} "}"))) (expression_statement "param_7 = piVar2 + 0x42;" (assignment_expression "param_7 = piVar2 + 0x42" (identifier "param_7") (= "=") (binary_expression "piVar2 + 0x42" (identifier "piVar2") (+ "+") (number_literal "0x42"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" (( "(") (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" (* "*") (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pthread_mutex_init_0003d238"))) () ")")) (argument_list "(param_7,0)" (( "(") (identifier "param_7") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);\n    (*(code *)PTR_free_0003d250)(piVar2[0x41]);\n    goto LAB_0001d9f0;\n  }" ({ "{") (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x422c)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x422c" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x422c")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_0003d250)(piVar2[0x41]);" (call_expression "(*(code *)PTR_free_0003d250)(piVar2[0x41])" (parenthesized_expression "(*(code *)PTR_free_0003d250)" (( "(") (pointer_expression "*(code *)PTR_free_0003d250" (* "*") (cast_expression "(code *)PTR_free_0003d250" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0003d250"))) () ")")) (argument_list "(piVar2[0x41])" (( "(") (subscript_expression "piVar2[0x41]" (identifier "piVar2") ([ "[") (number_literal "0x41") (] "]")) () ")"))) (; ";")) (goto_statement "goto LAB_0001d9f0;" (goto "goto") (statement_identifier "LAB_0001d9f0") (; ";")) (} "}"))) (expression_statement "uVar4 = piVar2[0x3d];" (assignment_expression "uVar4 = piVar2[0x3d]" (identifier "uVar4") (= "=") (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]"))) (; ";")) (if_statement "if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }" (if "if") (parenthesized_expression "(((uVar4 & 8) == 0) && (piVar2[0x22] != 0))" (( "(") (binary_expression "((uVar4 & 8) == 0) && (piVar2[0x22] != 0)" (parenthesized_expression "((uVar4 & 8) == 0)" (( "(") (binary_expression "(uVar4 & 8) == 0" (parenthesized_expression "(uVar4 & 8)" (( "(") (binary_expression "uVar4 & 8" (identifier "uVar4") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar2[0x22] != 0)" (( "(") (binary_expression "piVar2[0x22] != 0" (subscript_expression "piVar2[0x22]" (identifier "piVar2") ([ "[") (number_literal "0x22") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);\n    goto LAB_0001d46c;\n  }" ({ "{") (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4200)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4200" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4200")) () ")"))) (; ";")) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";")) (} "}"))) (expression_statement "unaff_s2 = piVar2[0x32];" (assignment_expression "unaff_s2 = piVar2[0x32]" (identifier "unaff_s2") (= "=") (subscript_expression "piVar2[0x32]" (identifier "piVar2") ([ "[") (number_literal "0x32") (] "]"))) (; ";")) (if_statement "if (unaff_s2 == 0xffffffff) {\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }" (if "if") (parenthesized_expression "(unaff_s2 == 0xffffffff)" (( "(") (binary_expression "unaff_s2 == 0xffffffff" (identifier "unaff_s2") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;\n    uVar12 = 2;\n    if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }\n    unaff_s2 = FUN_000200f4(uVar12);\n    if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }\n    if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }\n    if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);\n    puVar11 = PTR_setsockopt_0003d284;\n    if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }\njoined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );\n  }" ({ "{") (if_statement "if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;" (if "if") (parenthesized_expression "((uVar4 & 0x100) != 0)" (( "(") (binary_expression "(uVar4 & 0x100) != 0" (parenthesized_expression "(uVar4 & 0x100)" (( "(") (binary_expression "uVar4 & 0x100" (identifier "uVar4") (& "&") (number_literal "0x100")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d3c4;" (goto "goto") (statement_identifier "LAB_0001d3c4") (; ";"))) (expression_statement "uVar12 = 2;" (assignment_expression "uVar12 = 2" (identifier "uVar12") (= "=") (number_literal "2")) (; ";")) (if_statement "if ((uVar4 & 0x10) != 0) {\n      uVar12 = 10;\n    }" (if "if") (parenthesized_expression "((uVar4 & 0x10) != 0)" (( "(") (binary_expression "(uVar4 & 0x10) != 0" (parenthesized_expression "(uVar4 & 0x10)" (( "(") (binary_expression "uVar4 & 0x10" (identifier "uVar4") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar12 = 10;\n    }" ({ "{") (expression_statement "uVar12 = 10;" (assignment_expression "uVar12 = 10" (identifier "uVar12") (= "=") (number_literal "10")) (; ";")) (} "}"))) (expression_statement "unaff_s2 = FUN_000200f4(uVar12);" (assignment_expression "unaff_s2 = FUN_000200f4(uVar12)" (identifier "unaff_s2") (= "=") (call_expression "FUN_000200f4(uVar12)" (identifier "FUN_000200f4") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")")))) (; ";")) (if_statement "if (unaff_s2 == 0xffffffff) {\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }" (if "if") (parenthesized_expression "(unaff_s2 == 0xffffffff)" (( "(") (binary_expression "unaff_s2 == 0xffffffff" (identifier "unaff_s2") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);\n      goto LAB_0001d46c;\n    }" ({ "{") (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*puVar6)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x41b8" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x41b8")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";")) (} "}"))) (if_statement "if (piVar2[0x33] == 0) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }\n    else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }" (if "if") (parenthesized_expression "(piVar2[0x33] == 0)" (( "(") (binary_expression "piVar2[0x33] == 0" (subscript_expression "piVar2[0x33]" (identifier "piVar2") ([ "[") (number_literal "0x33") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);" (assignment_expression "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" (( "(") (pointer_expression "*(code *)PTR_setsockopt_0003d284" (* "*") (cast_expression "(code *)PTR_setsockopt_0003d284" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_setsockopt_0003d284"))) () ")")) (argument_list "(unaff_s2,0xffff,4,&local_e8,4)" (( "(") (identifier "unaff_s2") (, ",") (number_literal "0xffff") (, ",") (number_literal "4") (, ",") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" ({ "{") (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*puVar6)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x418c" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x418c")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }" (else "else") (if_statement "if (0 < piVar2[0x33]) {\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }" (if "if") (parenthesized_expression "(0 < piVar2[0x33])" (( "(") (binary_expression "0 < piVar2[0x33]" (number_literal "0") (< "<") (subscript_expression "piVar2[0x33]" (identifier "piVar2") ([ "[") (number_literal "0x33") (] "]"))) () ")")) (compound_statement "{\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }\n    }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);" (assignment_expression "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" (( "(") (pointer_expression "*(code *)PTR_setsockopt_0003d284" (* "*") (cast_expression "(code *)PTR_setsockopt_0003d284" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_setsockopt_0003d284"))) () ")")) (argument_list "(unaff_s2,0xffff,4,&local_e8,4)" (( "(") (identifier "unaff_s2") (, ",") (number_literal "0xffff") (, ",") (number_literal "4") (, ",") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" ({ "{") (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*puVar6)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x418c" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x418c")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);" (assignment_expression "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" (( "(") (pointer_expression "*(code *)PTR_setsockopt_0003d284" (* "*") (cast_expression "(code *)PTR_setsockopt_0003d284" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_setsockopt_0003d284"))) () ")")) (argument_list "(unaff_s2,0xffff,0x200,&local_e8,4)" (( "(") (identifier "unaff_s2") (, ",") (number_literal "0xffff") (, ",") (number_literal "0x200") (, ",") (pointer_expression "&local_e8" (& "&") (identifier "local_e8")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        goto LAB_0001d46c;\n      }" ({ "{") (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*puVar6)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x418c" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x418c")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";")) (} "}"))) (} "}"))))) (if_statement "if ((piVar2[0x3d] & 0x10U) == 0) {\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }\n    else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }" (if "if") (parenthesized_expression "((piVar2[0x3d] & 0x10U) == 0)" (( "(") (binary_expression "(piVar2[0x3d] & 0x10U) == 0" (parenthesized_expression "(piVar2[0x3d] & 0x10U)" (( "(") (binary_expression "piVar2[0x3d] & 0x10U" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x10U")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_e0 = 0x10;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n    }" ({ "{") (expression_statement "local_e0 = 0x10;" (assignment_expression "local_e0 = 0x10" (identifier "local_e0") (= "=") (number_literal "0x10")) (; ";")) (if_statement "if (local_e4 == (undefined2 *)0x0) {\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }" (if "if") (parenthesized_expression "(local_e4 == (undefined2 *)0x0)" (( "(") (binary_expression "local_e4 == (undefined2 *)0x0" (identifier "local_e4") (== "==") (cast_expression "(undefined2 *)0x0" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_d4 = 0;\n        local_d0 = 0;\n        local_d8 = 2;\n        local_e4 = &local_d8;\n        local_cc = 0;\n        piVar2[0x32] = unaff_s2;\n        local_d6 = uVar16;\n      }" ({ "{") (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" (identifier "local_d4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" (identifier "local_d0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d8 = 2;" (assignment_expression "local_d8 = 2" (identifier "local_d8") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_e4 = &local_d8;" (assignment_expression "local_e4 = &local_d8" (identifier "local_e4") (= "=") (pointer_expression "&local_d8" (& "&") (identifier "local_d8"))) (; ";")) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" (identifier "local_cc") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x32] = unaff_s2;" (assignment_expression "piVar2[0x32] = unaff_s2" (subscript_expression "piVar2[0x32]" (identifier "piVar2") ([ "[") (number_literal "0x32") (] "]")) (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "local_d6 = uVar16;" (assignment_expression "local_d6 = uVar16" (identifier "local_d6") (= "=") (identifier "uVar16")) (; ";")) (} "}")) (else_clause "else {\n        piVar2[0x32] = unaff_s2;\n      }" (else "else") (compound_statement "{\n        piVar2[0x32] = unaff_s2;\n      }" ({ "{") (expression_statement "piVar2[0x32] = unaff_s2;" (assignment_expression "piVar2[0x32] = unaff_s2" (subscript_expression "piVar2[0x32]" (identifier "piVar2") ([ "[") (number_literal "0x32") (] "]")) (= "=") (identifier "unaff_s2")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }" (else "else") (compound_statement "{\n      local_e0 = 0x1c;\n      if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }\n      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);\n      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);\n      if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }\n    }" ({ "{") (expression_statement "local_e0 = 0x1c;" (assignment_expression "local_e0 = 0x1c" (identifier "local_e0") (= "=") (number_literal "0x1c")) (; ";")) (if_statement "if (local_e4 == (undefined2 *)0x0) {\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }\n      else {\n        piVar2[0x32] = unaff_s2;\n      }" (if "if") (parenthesized_expression "(local_e4 == (undefined2 *)0x0)" (( "(") (binary_expression "local_e4 == (undefined2 *)0x0" (identifier "local_e4") (== "==") (cast_expression "(undefined2 *)0x0" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_c4 = 0;\n        local_b0 = 0;\n        local_c8 = 10;\n        local_e4 = &local_c8;\n        local_c0 = 0;\n        local_bc = 0;\n        local_b8 = 0;\n        local_b4 = 0;\n        piVar2[0x32] = unaff_s2;\n        local_c6 = uVar16;\n      }" ({ "{") (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" (identifier "local_c4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c8 = 10;" (assignment_expression "local_c8 = 10" (identifier "local_c8") (= "=") (number_literal "10")) (; ";")) (expression_statement "local_e4 = &local_c8;" (assignment_expression "local_e4 = &local_c8" (identifier "local_e4") (= "=") (pointer_expression "&local_c8" (& "&") (identifier "local_c8"))) (; ";")) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" (identifier "local_c0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" (identifier "local_bc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" (identifier "local_b4") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x32] = unaff_s2;" (assignment_expression "piVar2[0x32] = unaff_s2" (subscript_expression "piVar2[0x32]" (identifier "piVar2") ([ "[") (number_literal "0x32") (] "]")) (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "local_c6 = uVar16;" (assignment_expression "local_c6 = uVar16" (identifier "local_c6") (= "=") (identifier "uVar16")) (; ";")) (} "}")) (else_clause "else {\n        piVar2[0x32] = unaff_s2;\n      }" (else "else") (compound_statement "{\n        piVar2[0x32] = unaff_s2;\n      }" ({ "{") (expression_statement "piVar2[0x32] = unaff_s2;" (assignment_expression "piVar2[0x32] = unaff_s2" (subscript_expression "piVar2[0x32]" (identifier "piVar2") ([ "[") (number_literal "0x32") (] "]")) (= "=") (identifier "unaff_s2")) (; ";")) (} "}")))) (expression_statement "local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);" (assignment_expression "local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810)" (identifier "local_dc") (= "=") (call_expression "(uint)((piVar2[0x3d] & 0x810U) != 0x810)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((piVar2[0x3d] & 0x810U) != 0x810)" (( "(") (binary_expression "(piVar2[0x3d] & 0x810U) != 0x810" (parenthesized_expression "(piVar2[0x3d] & 0x810U)" (( "(") (binary_expression "piVar2[0x3d] & 0x810U" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x810U")) () ")")) (!= "!=") (number_literal "0x810")) () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);" (assignment_expression "iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4)" (parenthesized_expression "(*(code *)PTR_setsockopt_0003d284)" (( "(") (pointer_expression "*(code *)PTR_setsockopt_0003d284" (* "*") (cast_expression "(code *)PTR_setsockopt_0003d284" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_setsockopt_0003d284"))) () ")")) (argument_list "(unaff_s2,0x29,0x1a,&local_dc,4)" (( "(") (identifier "unaff_s2") (, ",") (number_literal "0x29") (, ",") (number_literal "0x1a") (, ",") (pointer_expression "&local_dc" (& "&") (identifier "local_dc")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar3 < 0) {\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n      }" ({ "{") (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*puVar6)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x418c" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x418c")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);" (assignment_expression "iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0)" (parenthesized_expression "(*(code *)PTR_bind_0003d1a8)" (( "(") (pointer_expression "*(code *)PTR_bind_0003d1a8" (* "*") (cast_expression "(code *)PTR_bind_0003d1a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bind_0003d1a8"))) () ")")) (argument_list "(unaff_s2,local_e4,local_e0)" (( "(") (identifier "unaff_s2") (, ",") (identifier "local_e4") (, ",") (identifier "local_e0") () ")")))) (; ";")) (expression_statement "puVar11 = PTR_setsockopt_0003d284;" (assignment_expression "puVar11 = PTR_setsockopt_0003d284" (identifier "puVar11") (= "=") (identifier "PTR_setsockopt_0003d284")) (; ";")) (if_statement "if (iVar3 == -1) {\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }\n    else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }" (if "if") (parenthesized_expression "(iVar3 == -1)" (( "(") (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x184d;\n    }" ({ "{") (expression_statement "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)()" (identifier "piVar15") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*piVar15)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*piVar15)" (( "(") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4174" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4174")) (, ",") (identifier "param_2") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" (( "(") (pointer_expression "*(code *)PTR_close_0003d128" (* "*") (cast_expression "(code *)PTR_close_0003d128" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_0003d128"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_0001d46c;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";"))) (expression_statement "iVar3 = *piVar15;" (assignment_expression "iVar3 = *piVar15" (identifier "iVar3") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "uVar12 = 0x184d;" (assignment_expression "uVar12 = 0x184d" (identifier "uVar12") (= "=") (number_literal "0x184d")) (; ";")) (} "}")) (else_clause "else {\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }" (else "else") (compound_statement "{\n      if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }\n      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);\n      if (-1 < iVar3) goto LAB_0001d388;\n      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      iVar3 = *piVar15;\n      uVar12 = 0x186b;\n    }" ({ "{") (if_statement "if ((piVar2[0x3d] & 0x4000U) != 0) {\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }" (if "if") (parenthesized_expression "((piVar2[0x3d] & 0x4000U) != 0)" (( "(") (binary_expression "(piVar2[0x3d] & 0x4000U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x4000U)" (( "(") (binary_expression "piVar2[0x3d] & 0x4000U" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x4000U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }\n        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);\n        if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }\n      }" ({ "{") (if_statement "if (piVar2[0x4a] == 0) {\n          piVar2[0x4a] = 10;\n        }" (if "if") (parenthesized_expression "(piVar2[0x4a] == 0)" (( "(") (binary_expression "piVar2[0x4a] == 0" (subscript_expression "piVar2[0x4a]" (identifier "piVar2") ([ "[") (number_literal "0x4a") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          piVar2[0x4a] = 10;\n        }" ({ "{") (expression_statement "piVar2[0x4a] = 10;" (assignment_expression "piVar2[0x4a] = 10" (subscript_expression "piVar2[0x4a]" (identifier "piVar2") ([ "[") (number_literal "0x4a") (] "]")) (= "=") (number_literal "10")) (; ";")) (} "}"))) (expression_statement "iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);" (assignment_expression "iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4)" (parenthesized_expression "(*(code *)puVar11)" (( "(") (pointer_expression "*(code *)puVar11" (* "*") (cast_expression "(code *)puVar11" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar11"))) () ")")) (argument_list "(unaff_s2,6,0x17,piVar2 + 0x4a,4)" (( "(") (identifier "unaff_s2") (, ",") (number_literal "6") (, ",") (number_literal "0x17") (, ",") (binary_expression "piVar2 + 0x4a" (identifier "piVar2") (+ "+") (number_literal "0x4a")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);\n        }" ({ "{") (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*puVar6)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x418c" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x418c")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);" (assignment_expression "iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b])" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b])" (parenthesized_expression "(*(code *)PTR_listen_0003d16c)" (( "(") (pointer_expression "*(code *)PTR_listen_0003d16c" (* "*") (cast_expression "(code *)PTR_listen_0003d16c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_listen_0003d16c"))) () ")")) (argument_list "(unaff_s2,piVar2[0x4b])" (( "(") (identifier "unaff_s2") (, ",") (subscript_expression "piVar2[0x4b]" (identifier "piVar2") ([ "[") (number_literal "0x4b") (] "]")) () ")")))) (; ";")) (if_statement "if (-1 < iVar3) goto LAB_0001d388;" (if "if") (parenthesized_expression "(-1 < iVar3)" (( "(") (binary_expression "-1 < iVar3" (number_literal "-1") (< "<") (identifier "iVar3")) () ")")) (goto_statement "goto LAB_0001d388;" (goto "goto") (statement_identifier "LAB_0001d388") (; ";"))) (expression_statement "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)()" (identifier "piVar15") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*piVar15)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*piVar15)" (( "(") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4154" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4154")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" (( "(") (pointer_expression "*(code *)PTR_close_0003d128" (* "*") (cast_expression "(code *)PTR_close_0003d128" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_0003d128"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_0001d46c;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";"))) (expression_statement "iVar3 = *piVar15;" (assignment_expression "iVar3 = *piVar15" (identifier "iVar3") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "uVar12 = 0x186b;" (assignment_expression "uVar12 = 0x186b" (identifier "uVar12") (= "=") (number_literal "0x186b")) (; ";")) (} "}")))) (labeled_statement "joined_r0x0001de3c:\n    do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );" (statement_identifier "joined_r0x0001de3c") (: ":") (do_statement "do {\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    } while( true );" (do "do") (compound_statement "{\n      if (iVar3 != 9) goto LAB_0001d46c;\nLAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);\nLAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);\nLAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001da08;\n      uVar4 = piVar2[0x3d];\n      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;\nLAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }\n      param_2 = piVar2 + 0x25;\n      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n      if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;\nLAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n      if (iVar3 == 0) goto LAB_0001d46c;\n      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n      iVar3 = *piVar5;\n      uVar12 = 0x1904;\n    }" ({ "{") (if_statement "if (iVar3 != 9) goto LAB_0001d46c;" (if "if") (parenthesized_expression "(iVar3 != 9)" (( "(") (binary_expression "iVar3 != 9" (identifier "iVar3") (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";"))) (labeled_statement "LAB_0001db00:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);" (statement_identifier "LAB_0001db00") (: ":") (expression_statement "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc);" (call_expression "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc)" (parenthesized_expression "(**(code **)PTR_DAT_0003d03c)" (( "(") (pointer_expression "**(code **)PTR_DAT_0003d03c" (* "*") (pointer_expression "*(code **)PTR_DAT_0003d03c" (* "*") (cast_expression "(code **)PTR_DAT_0003d03c" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_DAT_0003d03c")))) () ")")) (argument_list "(*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4cfc)" (( "(") (pointer_expression "*(undefined4 *)PTR_DAT_0003d038" (* "*") (cast_expression "(undefined4 *)PTR_DAT_0003d038" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_0003d038"))) (, ",") (binary_expression "PTR_DAT_0003d02c + -0x51b0" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x51b0")) (, ",") (identifier "uVar12") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4cfc" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4cfc")) () ")"))) (; ";"))) (labeled_statement "LAB_0001db20:\n      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (statement_identifier "LAB_0001db20") (: ":") (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*puVar6)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x412c" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x412c")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (labeled_statement "LAB_0001d394:\n      iVar3 = FUN_0001fdfc(unaff_s2);" (statement_identifier "LAB_0001d394") (: ":") (expression_statement "iVar3 = FUN_0001fdfc(unaff_s2);" (assignment_expression "iVar3 = FUN_0001fdfc(unaff_s2)" (identifier "iVar3") (= "=") (call_expression "FUN_0001fdfc(unaff_s2)" (identifier "FUN_0001fdfc") (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (; ";"))) (if_statement "if (iVar3 == 0) goto LAB_0001da08;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001da08;" (goto "goto") (statement_identifier "LAB_0001da08") (; ";"))) (expression_statement "uVar4 = piVar2[0x3d];" (assignment_expression "uVar4 = piVar2[0x3d]" (identifier "uVar4") (= "=") (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]"))) (; ";")) (if_statement "if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;" (if "if") (parenthesized_expression "((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0))" (( "(") (binary_expression "(0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)" (parenthesized_expression "(0x3ff < (int)unaff_s2)" (( "(") (binary_expression "0x3ff < (int)unaff_s2" (number_literal "0x3ff") (< "<") (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2"))) () ")")) (&& "&&") (parenthesized_expression "((uVar4 & 0x240) == 0)" (( "(") (binary_expression "(uVar4 & 0x240) == 0" (parenthesized_expression "(uVar4 & 0x240)" (( "(") (binary_expression "uVar4 & 0x240" (identifier "uVar4") (& "&") (number_literal "0x240")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0001daac;" (goto "goto") (statement_identifier "LAB_0001daac") (; ";"))) (labeled_statement "LAB_0001d3c4:\n      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }" (statement_identifier "LAB_0001d3c4") (: ":") (if_statement "if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }" (if "if") (parenthesized_expression "(((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0))" (( "(") (binary_expression "((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)" (parenthesized_expression "((uVar4 & 0x200) != 0)" (( "(") (binary_expression "(uVar4 & 0x200) != 0" (parenthesized_expression "(uVar4 & 0x200)" (( "(") (binary_expression "uVar4 & 0x200" (identifier "uVar4") (& "&") (number_literal "0x200")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar2[0x22] == 0)" (( "(") (binary_expression "piVar2[0x22] == 0" (subscript_expression "piVar2[0x22]" (identifier "piVar2") ([ "[") (number_literal "0x22") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }\n        iVar3 = FUN_000182d0(piVar2);\n        if (iVar3 != 1) goto LAB_0001d46c;\n      }" ({ "{") (if_statement "if ((uVar4 & 4) != 0) {\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }" (if "if") (parenthesized_expression "((uVar4 & 4) != 0)" (( "(") (binary_expression "(uVar4 & 4) != 0" (parenthesized_expression "(uVar4 & 4)" (( "(") (binary_expression "uVar4 & 4" (identifier "uVar4") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);\n          goto LAB_0001d46c;\n        }" ({ "{") (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4064)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4064" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4064")) () ")"))) (; ";")) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";")) (} "}"))) (expression_statement "iVar3 = FUN_000182d0(piVar2);" (assignment_expression "iVar3 = FUN_000182d0(piVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_000182d0(piVar2)" (identifier "FUN_000182d0") (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (if_statement "if (iVar3 != 1) goto LAB_0001d46c;" (if "if") (parenthesized_expression "(iVar3 != 1)" (( "(") (binary_expression "iVar3 != 1" (identifier "iVar3") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";"))) (} "}")))) (expression_statement "param_2 = piVar2 + 0x25;" (assignment_expression "param_2 = piVar2 + 0x25" (identifier "param_2") (= "=") (binary_expression "piVar2 + 0x25" (identifier "piVar2") (+ "+") (number_literal "0x25"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" (( "(") (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" (* "*") (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pthread_mutex_init_0003d238"))) () ")")) (argument_list "(param_2,0)" (( "(") (identifier "param_2") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001d824:\n        piVar5 = piVar2 + 0x2b;\n        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);\n        if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }\n        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n        uVar12 = 0x190e;\n        if (iVar3 != 0) goto LAB_0001e284;\n        if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }\n        goto LAB_0001d46c;\n      }" ({ "{") (labeled_statement "LAB_0001d824:\n        piVar5 = piVar2 + 0x2b;" (statement_identifier "LAB_0001d824") (: ":") (expression_statement "piVar5 = piVar2 + 0x2b;" (assignment_expression "piVar5 = piVar2 + 0x2b" (identifier "piVar5") (= "=") (binary_expression "piVar2 + 0x2b" (identifier "piVar2") (+ "+") (number_literal "0x2b"))) (; ";"))) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" (( "(") (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" (* "*") (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pthread_mutex_init_0003d238"))) () ")")) (argument_list "(piVar5,0)" (( "(") (identifier "piVar5") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;\n          uVar4 = piVar2[0x22];\n          if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }\n          if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }\n          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;\n          if (iVar3 != 0) goto LAB_0001d504;\n          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);\n          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);\n          uVar12 = 0x193b;\n          if (iVar3 != 0) goto LAB_0001e284;\n          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n          uVar12 = 0x193c;\n          if (iVar3 != 0) goto LAB_0001e284;\n          if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;\n          iVar3 = *piVar15;\n          uVar12 = 0x193e;\n          goto joined_r0x0001de3c;\n        }" ({ "{") (if_statement "if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;" (if "if") (parenthesized_expression "((piVar2[0x3d] & 0x108U) != 8)" (( "(") (binary_expression "(piVar2[0x3d] & 0x108U) != 8" (parenthesized_expression "(piVar2[0x3d] & 0x108U)" (( "(") (binary_expression "piVar2[0x3d] & 0x108U" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x108U")) () ")")) (!= "!=") (number_literal "8")) () ")")) (goto_statement "goto LAB_0001d504;" (goto "goto") (statement_identifier "LAB_0001d504") (; ";"))) (expression_statement "uVar4 = piVar2[0x22];" (assignment_expression "uVar4 = piVar2[0x22]" (identifier "uVar4") (= "=") (subscript_expression "piVar2[0x22]" (identifier "piVar2") ([ "[") (number_literal "0x22") (] "]"))) (; ";")) (if_statement "if (uVar4 != 0) {\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }" (if "if") (parenthesized_expression "(uVar4 != 0)" (( "(") (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar17 = piVar2[0x3a];\n            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);\n            piVar2[0x1d] = iVar3;\n            puVar11 = PTR_DAT_0003d02c;\n            if (iVar3 == 0) goto LAB_0001e05c;\n            if (uVar4 == 0) {\n              trap(7);\n            }\n            uVar20 = uVar17 / uVar4;\n            iVar18 = 0;\n            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);\n            puVar8 = PTR_LAB_0003d054 + -0x3aa8;\n            do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );\n          }" ({ "{") (expression_statement "uVar17 = piVar2[0x3a];" (assignment_expression "uVar17 = piVar2[0x3a]" (identifier "uVar17") (= "=") (subscript_expression "piVar2[0x3a]" (identifier "piVar2") ([ "[") (number_literal "0x3a") (] "]"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);" (assignment_expression "iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130)" (parenthesized_expression "(*(code *)PTR_malloc_0003d1e0)" (( "(") (pointer_expression "*(code *)PTR_malloc_0003d1e0" (* "*") (cast_expression "(code *)PTR_malloc_0003d1e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_malloc_0003d1e0"))) () ")")) (argument_list "(uVar4 * 0x130)" (( "(") (binary_expression "uVar4 * 0x130" (identifier "uVar4") (* "*") (number_literal "0x130")) () ")")))) (; ";")) (expression_statement "piVar2[0x1d] = iVar3;" (assignment_expression "piVar2[0x1d] = iVar3" (subscript_expression "piVar2[0x1d]" (identifier "piVar2") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "puVar11 = PTR_DAT_0003d02c;" (assignment_expression "puVar11 = PTR_DAT_0003d02c" (identifier "puVar11") (= "=") (identifier "PTR_DAT_0003d02c")) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_0001e05c;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e05c;" (goto "goto") (statement_identifier "LAB_0001e05c") (; ";"))) (if_statement "if (uVar4 == 0) {\n              trap(7);\n            }" (if "if") (parenthesized_expression "(uVar4 == 0)" (( "(") (binary_expression "uVar4 == 0" (identifier "uVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              trap(7);\n            }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar20 = uVar17 / uVar4;" (assignment_expression "uVar20 = uVar17 / uVar4" (identifier "uVar20") (= "=") (binary_expression "uVar17 / uVar4" (identifier "uVar17") (/ "/") (identifier "uVar4"))) (; ";")) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" (identifier "iVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30)" (identifier "pcVar7") (= "=") (cast_expression "(code *)(PTR_LAB_0003d054 + -0x7d30)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0003d054 + -0x7d30)" (( "(") (binary_expression "PTR_LAB_0003d054 + -0x7d30" (identifier "PTR_LAB_0003d054") (+ "+") (number_literal "-0x7d30")) () ")")))) (; ";")) (expression_statement "puVar8 = PTR_LAB_0003d054 + -0x3aa8;" (assignment_expression "puVar8 = PTR_LAB_0003d054 + -0x3aa8" (identifier "puVar8") (= "=") (binary_expression "PTR_LAB_0003d054 + -0x3aa8" (identifier "PTR_LAB_0003d054") (+ "+") (number_literal "-0x3aa8"))) (; ";")) (do_statement "do {\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            } while( true );" (do "do") (compound_statement "{\n              piVar19 = (int *)(iVar3 + iVar18);\n              piVar5 = piVar19;\n              piVar9 = piVar2;\n              do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);\n              piVar19[0x1c] = (int)piVar2;\n              piVar19[0x22] = 0;\n              piVar19[0x1d] = 0;\n              if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }\n              if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }\n              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;\n              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);\n              if (iVar3 != 0) goto LAB_0001e2a8;\n              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);\n              if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }\n              piVar15 = (int *)((int)piVar15 + 1);\n              iVar18 = iVar18 + 0x130;\n              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;\n              iVar3 = piVar2[0x1d];\n            }" ({ "{") (expression_statement "piVar19 = (int *)(iVar3 + iVar18);" (assignment_expression "piVar19 = (int *)(iVar3 + iVar18)" (identifier "piVar19") (= "=") (cast_expression "(int *)(iVar3 + iVar18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + iVar18)" (( "(") (binary_expression "iVar3 + iVar18" (identifier "iVar3") (+ "+") (identifier "iVar18")) () ")")))) (; ";")) (expression_statement "piVar5 = piVar19;" (assignment_expression "piVar5 = piVar19" (identifier "piVar5") (= "=") (identifier "piVar19")) (; ";")) (expression_statement "piVar9 = piVar2;" (assignment_expression "piVar9 = piVar2" (identifier "piVar9") (= "=") (identifier "piVar2")) (; ";")) (do_statement "do {\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              } while (piVar10 != piVar2 + 0x4c);" (do "do") (compound_statement "{\n                piVar10 = piVar9 + 4;\n                iVar14 = piVar9[1];\n                iVar13 = piVar9[2];\n                iVar3 = piVar9[3];\n                *piVar5 = *piVar9;\n                piVar5[1] = iVar14;\n                piVar5[2] = iVar13;\n                piVar5[3] = iVar3;\n                piVar5 = piVar5 + 4;\n                piVar9 = piVar10;\n              }" ({ "{") (expression_statement "piVar10 = piVar9 + 4;" (assignment_expression "piVar10 = piVar9 + 4" (identifier "piVar10") (= "=") (binary_expression "piVar9 + 4" (identifier "piVar9") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "iVar14 = piVar9[1];" (assignment_expression "iVar14 = piVar9[1]" (identifier "iVar14") (= "=") (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar13 = piVar9[2];" (assignment_expression "iVar13 = piVar9[2]" (identifier "iVar13") (= "=") (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar3 = piVar9[3];" (assignment_expression "iVar3 = piVar9[3]" (identifier "iVar3") (= "=") (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*piVar5 = *piVar9;" (assignment_expression "*piVar5 = *piVar9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "piVar5[1] = iVar14;" (assignment_expression "piVar5[1] = iVar14" (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "piVar5[2] = iVar13;" (assignment_expression "piVar5[2] = iVar13" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "piVar5[3] = iVar3;" (assignment_expression "piVar5[3] = iVar3" (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (expression_statement "piVar5 = piVar5 + 4;" (assignment_expression "piVar5 = piVar5 + 4" (identifier "piVar5") (= "=") (binary_expression "piVar5 + 4" (identifier "piVar5") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "piVar9 = piVar10;" (assignment_expression "piVar9 = piVar10" (identifier "piVar9") (= "=") (identifier "piVar10")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar10 != piVar2 + 0x4c)" (( "(") (binary_expression "piVar10 != piVar2 + 0x4c" (identifier "piVar10") (!= "!=") (binary_expression "piVar2 + 0x4c" (identifier "piVar2") (+ "+") (number_literal "0x4c"))) () ")")) (; ";")) (expression_statement "piVar19[0x1c] = (int)piVar2;" (assignment_expression "piVar19[0x1c] = (int)piVar2" (subscript_expression "piVar19[0x1c]" (identifier "piVar19") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2"))) (; ";")) (expression_statement "piVar19[0x22] = 0;" (assignment_expression "piVar19[0x22] = 0" (subscript_expression "piVar19[0x22]" (identifier "piVar19") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar19[0x1d] = 0;" (assignment_expression "piVar19[0x1d] = 0" (subscript_expression "piVar19[0x1d]" (identifier "piVar19") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((piVar2[0x3d] & 0x400U) == 0) {\n                piVar19[0x36] = -1;\n              }\n              else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }" (if "if") (parenthesized_expression "((piVar2[0x3d] & 0x400U) == 0)" (( "(") (binary_expression "(piVar2[0x3d] & 0x400U) == 0" (parenthesized_expression "(piVar2[0x3d] & 0x400U)" (( "(") (binary_expression "piVar2[0x3d] & 0x400U" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x400U")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                piVar19[0x36] = -1;\n              }" ({ "{") (expression_statement "piVar19[0x36] = -1;" (assignment_expression "piVar19[0x36] = -1" (subscript_expression "piVar19[0x36]" (identifier "piVar19") ([ "[") (number_literal "0x36") (] "]")) (= "=") (number_literal "-1")) (; ";")) (} "}")) (else_clause "else {\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }" (else "else") (compound_statement "{\n                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);\n                piVar19[0x36] = iVar3;\n                if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }\n                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }\n              }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);" (assignment_expression "iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_eventfd_0003d148)(0,0x80080)" (parenthesized_expression "(*(code *)PTR_eventfd_0003d148)" (( "(") (pointer_expression "*(code *)PTR_eventfd_0003d148" (* "*") (cast_expression "(code *)PTR_eventfd_0003d148" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_eventfd_0003d148"))) () ")")) (argument_list "(0,0x80080)" (( "(") (number_literal "0") (, ",") (number_literal "0x80080") () ")")))) (; ";")) (expression_statement "piVar19[0x36] = iVar3;" (assignment_expression "piVar19[0x36] = iVar3" (subscript_expression "piVar19[0x36]" (identifier "piVar19") ([ "[") (number_literal "0x36") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 == -1) {\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }" (if "if") (parenthesized_expression "(iVar3 == -1)" (( "(") (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);\n                  goto LAB_0001e054;\n                }" ({ "{") (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*puVar6)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x3fb8" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x3fb8")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (goto_statement "goto LAB_0001e054;" (goto "goto") (statement_identifier "LAB_0001e054") (; ";")) (} "}"))) (if_statement "if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }" (if "if") (parenthesized_expression "(((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3))" (( "(") (binary_expression "((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)" (parenthesized_expression "((piVar2[0x3d] & 0x240U) == 0)" (( "(") (binary_expression "(piVar2[0x3d] & 0x240U) == 0" (parenthesized_expression "(piVar2[0x3d] & 0x240U)" (( "(") (binary_expression "piVar2[0x3d] & 0x240U" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x240U")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(0x3ff < iVar3)" (( "(") (binary_expression "0x3ff < iVar3" (number_literal "0x3ff") (< "<") (identifier "iVar3")) () ")"))) () ")")) (compound_statement "{\n                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);\n                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);\n                  if (iVar3 == 0) goto LAB_0001e054;\n                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n                  if (*piVar5 != 9) goto LAB_0001e054;\n                  uVar12 = 0x1977;\n                  goto LAB_0001d9b4;\n                }" ({ "{") (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3f78)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x3f78" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x3f78")) () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36])" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_close_0003d128)(piVar19[0x36])" (parenthesized_expression "(*(code *)PTR_close_0003d128)" (( "(") (pointer_expression "*(code *)PTR_close_0003d128" (* "*") (cast_expression "(code *)PTR_close_0003d128" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_0003d128"))) () ")")) (argument_list "(piVar19[0x36])" (( "(") (subscript_expression "piVar19[0x36]" (identifier "piVar19") ([ "[") (number_literal "0x36") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_0001e054;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e054;" (goto "goto") (statement_identifier "LAB_0001e054") (; ";"))) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*piVar5 != 9) goto LAB_0001e054;" (if "if") (parenthesized_expression "(*piVar5 != 9)" (( "(") (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001e054;" (goto "goto") (statement_identifier "LAB_0001e054") (; ";"))) (expression_statement "uVar12 = 0x1977;" (assignment_expression "uVar12 = 0x1977" (identifier "uVar12") (= "=") (number_literal "0x1977")) (; ";")) (goto_statement "goto LAB_0001d9b4;" (goto "goto") (statement_identifier "LAB_0001d9b4") (; ";")) (} "}"))) (} "}")))) (if_statement "if (piVar15 < (int *)(uVar17 % uVar4)) {\n                piVar19[0x3a] = uVar20 + 1;\n              }\n              else {\n                piVar19[0x3a] = uVar20;\n              }" (if "if") (parenthesized_expression "(piVar15 < (int *)(uVar17 % uVar4))" (( "(") (binary_expression "piVar15 < (int *)(uVar17 % uVar4)" (identifier "piVar15") (< "<") (cast_expression "(int *)(uVar17 % uVar4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar17 % uVar4)" (( "(") (binary_expression "uVar17 % uVar4" (identifier "uVar17") (% "%") (identifier "uVar4")) () ")")))) () ")")) (compound_statement "{\n                piVar19[0x3a] = uVar20 + 1;\n              }" ({ "{") (expression_statement "piVar19[0x3a] = uVar20 + 1;" (assignment_expression "piVar19[0x3a] = uVar20 + 1" (subscript_expression "piVar19[0x3a]" (identifier "piVar19") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (binary_expression "uVar20 + 1" (identifier "uVar20") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                piVar19[0x3a] = uVar20;\n              }" (else "else") (compound_statement "{\n                piVar19[0x3a] = uVar20;\n              }" ({ "{") (expression_statement "piVar19[0x3a] = uVar20;" (assignment_expression "piVar19[0x3a] = uVar20" (subscript_expression "piVar19[0x3a]" (identifier "piVar19") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (identifier "uVar20")) (; ";")) (} "}")))) (if_statement "if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))\n              goto LAB_0001e054;" (if "if") (parenthesized_expression "(((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))" (( "(") (binary_expression "((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1)" (parenthesized_expression "((piVar2[0x3d] & 0x200U) != 0)" (( "(") (binary_expression "(piVar2[0x3d] & 0x200U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x200U)" (( "(") (binary_expression "piVar2[0x3d] & 0x200U" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x200U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (*pcVar7)(piVar19), iVar3 != 1)" (( "(") (comma_expression "iVar3 = (*pcVar7)(piVar19), iVar3 != 1" (assignment_expression "iVar3 = (*pcVar7)(piVar19)" (identifier "iVar3") (= "=") (call_expression "(*pcVar7)(piVar19)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(piVar19)" (( "(") (identifier "piVar19") () ")")))) (, ",") (binary_expression "iVar3 != 1" (identifier "iVar3") (!= "!=") (number_literal "1"))) () ")"))) () ")")) (goto_statement "goto LAB_0001e054;" (goto "goto") (statement_identifier "LAB_0001e054") (; ";"))) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" (( "(") (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" (* "*") (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pthread_mutex_init_0003d238"))) () ")")) (argument_list "(piVar19 + 0x2b,0)" (( "(") (binary_expression "piVar19 + 0x2b" (identifier "piVar19") (+ "+") (number_literal "0x2b")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_0001e2a8;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e2a8;" (goto "goto") (statement_identifier "LAB_0001e2a8") (; ";"))) (expression_statement "iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);" (assignment_expression "iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19)" (identifier "iVar3") (= "=") (call_expression "FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19)" (identifier "FUN_000215fc") (argument_list "(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19)" (( "(") (binary_expression "piVar19 + 0x23" (identifier "piVar19") (+ "+") (number_literal "0x23")) (, ",") (binary_expression "puVar11 + -0x3eec" (identifier "puVar11") (+ "+") (number_literal "-0x3eec")) (, ",") (subscript_expression "piVar2[0x21]" (identifier "piVar2") ([ "[") (number_literal "0x21") (] "]")) (, ",") (identifier "puVar8") (, ",") (identifier "piVar19") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();\n                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);\n                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);\n                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);\n                uVar12 = 0x19a1;\n                if (iVar3 == 0) goto LAB_0001e054;\n                goto LAB_0001e284;\n              }" ({ "{") (expression_statement "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*puVar6)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*puVar6)" (( "(") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x3ee0" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x3ee0")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" (( "(") (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" (* "*") (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pthread_mutex_destroy_0003d264"))) () ")")) (argument_list "(piVar19 + 0x2b)" (( "(") (binary_expression "piVar19 + 0x2b" (identifier "piVar19") (+ "+") (number_literal "0x2b")) () ")")))) (; ";")) (expression_statement "uVar12 = 0x19a1;" (assignment_expression "uVar12 = 0x19a1" (identifier "uVar12") (= "=") (number_literal "0x19a1")) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_0001e054;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e054;" (goto "goto") (statement_identifier "LAB_0001e054") (; ";"))) (goto_statement "goto LAB_0001e284;" (goto "goto") (statement_identifier "LAB_0001e284") (; ";")) (} "}"))) (expression_statement "piVar15 = (int *)((int)piVar15 + 1);" (assignment_expression "piVar15 = (int *)((int)piVar15 + 1)" (identifier "piVar15") (= "=") (cast_expression "(int *)((int)piVar15 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar15 + 1)" (( "(") (binary_expression "(int)piVar15 + 1" (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar18 = iVar18 + 0x130;" (assignment_expression "iVar18 = iVar18 + 0x130" (identifier "iVar18") (= "=") (binary_expression "iVar18 + 0x130" (identifier "iVar18") (+ "+") (number_literal "0x130"))) (; ";")) (if_statement "if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;" (if "if") (parenthesized_expression "((int *)piVar2[0x22] <= piVar15)" (( "(") (binary_expression "(int *)piVar2[0x22] <= piVar15" (cast_expression "(int *)piVar2[0x22]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[0x22]" (identifier "piVar2") ([ "[") (number_literal "0x22") (] "]"))) (<= "<=") (identifier "piVar15")) () ")")) (goto_statement "goto LAB_0001d504;" (goto "goto") (statement_identifier "LAB_0001d504") (; ";"))) (expression_statement "iVar3 = piVar2[0x1d];" (assignment_expression "iVar3 = piVar2[0x1d]" (identifier "iVar3") (= "=") (subscript_expression "piVar2[0x1d]" (identifier "piVar2") ([ "[") (number_literal "0x1d") (] "]"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (if_statement "if ((piVar2[0x3d] & 4U) == 0) {\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }\n          else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }" (if "if") (parenthesized_expression "((piVar2[0x3d] & 4U) == 0)" (( "(") (binary_expression "(piVar2[0x3d] & 4U) == 0" (parenthesized_expression "(piVar2[0x3d] & 4U)" (( "(") (binary_expression "piVar2[0x3d] & 4U" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "4U")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar11 = PTR_DAT_0003d02c + -0x43ec;\n          }" ({ "{") (expression_statement "puVar11 = PTR_DAT_0003d02c + -0x43ec;" (assignment_expression "puVar11 = PTR_DAT_0003d02c + -0x43ec" (identifier "puVar11") (= "=") (binary_expression "PTR_DAT_0003d02c + -0x43ec" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x43ec"))) (; ";")) (} "}")) (else_clause "else {\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }" (else "else") (compound_statement "{\n            puVar11 = PTR_DAT_0003d02c + -0x43f8;\n          }" ({ "{") (expression_statement "puVar11 = PTR_DAT_0003d02c + -0x43f8;" (assignment_expression "puVar11 = PTR_DAT_0003d02c + -0x43f8" (identifier "puVar11") (= "=") (binary_expression "PTR_DAT_0003d02c + -0x43f8" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x43f8"))) (; ";")) (} "}")))) (expression_statement "iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)\n          ;" (assignment_expression "iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)" (identifier "FUN_000215fc") (argument_list "(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)" (( "(") (binary_expression "piVar2 + 0x23" (identifier "piVar2") (+ "+") (number_literal "0x23")) (, ",") (identifier "puVar11") (, ",") (subscript_expression "piVar2[0x21]" (identifier "piVar2") ([ "[") (number_literal "0x21") (] "]")) (, ",") (binary_expression "PTR_LAB_0003d054 + -0x3aa8" (identifier "PTR_LAB_0003d054") (+ "+") (number_literal "-0x3aa8")) (, ",") (identifier "piVar2") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_0001d504;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d504;" (goto "goto") (statement_identifier "LAB_0001d504") (; ";"))) (expression_statement "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)()" (identifier "piVar15") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*piVar15)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*piVar15)" (( "(") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x3fdc" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x3fdc")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" (( "(") (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" (* "*") (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pthread_mutex_destroy_0003d264"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (expression_statement "uVar12 = 0x193b;" (assignment_expression "uVar12 = 0x193b" (identifier "uVar12") (= "=") (number_literal "0x193b")) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_0001e284;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e284;" (goto "goto") (statement_identifier "LAB_0001e284") (; ";"))) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" (( "(") (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" (* "*") (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pthread_mutex_destroy_0003d264"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "uVar12 = 0x193c;" (assignment_expression "uVar12 = 0x193c" (identifier "uVar12") (= "=") (number_literal "0x193c")) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_0001e284;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e284;" (goto "goto") (statement_identifier "LAB_0001e284") (; ";"))) (if_statement "if ((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;" (if "if") (parenthesized_expression "((unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0))" (( "(") (binary_expression "(unaff_s2 == 0xffffffff) ||\n             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)" (parenthesized_expression "(unaff_s2 == 0xffffffff)" (( "(") (binary_expression "unaff_s2 == 0xffffffff" (identifier "unaff_s2") (== "==") (number_literal "0xffffffff")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" (( "(") (pointer_expression "*(code *)PTR_close_0003d128" (* "*") (cast_expression "(code *)PTR_close_0003d128" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_0003d128"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";"))) (expression_statement "iVar3 = *piVar15;" (assignment_expression "iVar3 = *piVar15" (identifier "iVar3") (= "=") (pointer_expression "*piVar15" (* "*") (identifier "piVar15"))) (; ";")) (expression_statement "uVar12 = 0x193e;" (assignment_expression "uVar12 = 0x193e" (identifier "uVar12") (= "=") (number_literal "0x193e")) (; ";")) (goto_statement "goto joined_r0x0001de3c;" (goto "goto") (statement_identifier "joined_r0x0001de3c") (; ";")) (} "}"))) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4014)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4014" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4014")) () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" (( "(") (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" (* "*") (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pthread_mutex_destroy_0003d264"))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (expression_statement "uVar12 = 0x190e;" (assignment_expression "uVar12 = 0x190e" (identifier "uVar12") (= "=") (number_literal "0x190e")) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_0001e284;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e284;" (goto "goto") (statement_identifier "LAB_0001e284") (; ";"))) (if_statement "if ((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }" (if "if") (parenthesized_expression "((unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))" (( "(") (binary_expression "(unaff_s2 != 0xffffffff) &&\n           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)" (parenthesized_expression "(unaff_s2 != 0xffffffff)" (( "(") (binary_expression "unaff_s2 != 0xffffffff" (identifier "unaff_s2") (!= "!=") (number_literal "0xffffffff")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)" (( "(") (comma_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" (( "(") (pointer_expression "*(code *)PTR_close_0003d128" (* "*") (cast_expression "(code *)PTR_close_0003d128" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_0003d128"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n          iVar3 = *piVar5;\n          uVar12 = 0x1911;\n          goto joined_r0x0001de3c;\n        }" ({ "{") (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar3 = *piVar5;" (assignment_expression "iVar3 = *piVar5" (identifier "iVar3") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "uVar12 = 0x1911;" (assignment_expression "uVar12 = 0x1911" (identifier "uVar12") (= "=") (number_literal "0x1911")) (; ";")) (goto_statement "goto joined_r0x0001de3c;" (goto "goto") (statement_identifier "joined_r0x0001de3c") (; ";")) (} "}"))) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";")) (} "}"))) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4014)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4014" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4014")) () ")"))) (; ";")) (if_statement "if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;" (if "if") (parenthesized_expression "(unaff_s2 == 0xffffffff)" (( "(") (binary_expression "unaff_s2 == 0xffffffff" (identifier "unaff_s2") (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";"))) (labeled_statement "LAB_0001d660:\n      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (statement_identifier "LAB_0001d660") (: ":") (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" (( "(") (pointer_expression "*(code *)PTR_close_0003d128" (* "*") (cast_expression "(code *)PTR_close_0003d128" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_0003d128"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (; ";"))) (if_statement "if (iVar3 == 0) goto LAB_0001d46c;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";"))) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar3 = *piVar5;" (assignment_expression "iVar3 = *piVar5" (identifier "iVar3") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "uVar12 = 0x1904;" (assignment_expression "uVar12 = 0x1904" (identifier "uVar12") (= "=") (number_literal "0x1904")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (labeled_statement "LAB_0001d388:\n  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;" (statement_identifier "LAB_0001d388") (: ":") (if_statement "if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;" (if "if") (parenthesized_expression "(*(short *)(piVar2 + 0x3e) != 0)" (( "(") (binary_expression "*(short *)(piVar2 + 0x3e) != 0" (pointer_expression "*(short *)(piVar2 + 0x3e)" (* "*") (cast_expression "(short *)(piVar2 + 0x3e)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 0x3e)" (( "(") (binary_expression "piVar2 + 0x3e" (identifier "piVar2") (+ "+") (number_literal "0x3e")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d394;" (goto "goto") (statement_identifier "LAB_0001d394") (; ";")))) (if_statement "if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;" (if "if") (parenthesized_expression "((piVar2[0x3d] & 0x100U) != 0)" (( "(") (binary_expression "(piVar2[0x3d] & 0x100U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x100U)" (( "(") (binary_expression "piVar2[0x3d] & 0x100U" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x100U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d394;" (goto "goto") (statement_identifier "LAB_0001d394") (; ";"))) (expression_statement "uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);" (assignment_expression "uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80)" (parenthesized_expression "(*(code *)PTR_memset_0003d19c)" (( "(") (pointer_expression "*(code *)PTR_memset_0003d19c" (* "*") (cast_expression "(code *)PTR_memset_0003d19c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_0003d19c"))) () ")")) (argument_list "(&local_ac,0,0x80)" (( "(") (pointer_expression "&local_ac" (& "&") (identifier "local_ac")) (, ",") (number_literal "0") (, ",") (number_literal "0x80") () ")")))) (; ";")) (expression_statement "local_e0 = 0x80;" (assignment_expression "local_e0 = 0x80" (identifier "local_e0") (= "=") (number_literal "0x80")) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);" (assignment_expression "iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0)" (parenthesized_expression "(*(code *)PTR_getsockname_0003d15c)" (( "(") (pointer_expression "*(code *)PTR_getsockname_0003d15c" (* "*") (cast_expression "(code *)PTR_getsockname_0003d15c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_getsockname_0003d15c"))) () ")")) (argument_list "(unaff_s2,uVar12,&local_e0)" (( "(") (identifier "unaff_s2") (, ",") (identifier "uVar12") (, ",") (pointer_expression "&local_e0" (& "&") (identifier "local_e0")) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_0001db20;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001db20;" (goto "goto") (statement_identifier "LAB_0001db20") (; ";"))) (if_statement "if (0x80 < local_e0) {\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }" (if "if") (parenthesized_expression "(0x80 < local_e0)" (( "(") (binary_expression "0x80 < local_e0" (number_literal "0x80") (< "<") (identifier "local_e0")) () ")")) (compound_statement "{\n    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);\n    goto LAB_0001d394;\n  }" ({ "{") (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4104)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4104" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4104")) () ")"))) (; ";")) (goto_statement "goto LAB_0001d394;" (goto "goto") (statement_identifier "LAB_0001d394") (; ";")) (} "}"))) (if_statement "if ((local_ac != 2) && (local_ac != 10)) {\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }" (if "if") (parenthesized_expression "((local_ac != 2) && (local_ac != 10))" (( "(") (binary_expression "(local_ac != 2) && (local_ac != 10)" (parenthesized_expression "(local_ac != 2)" (( "(") (binary_expression "local_ac != 2" (identifier "local_ac") (!= "!=") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(local_ac != 10)" (( "(") (binary_expression "local_ac != 10" (identifier "local_ac") (!= "!=") (number_literal "10")) () ")"))) () ")")) (compound_statement "{\n    if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }\n    *(undefined2 *)(piVar2 + 0x3e) = 0;\n    goto LAB_0001d394;\n  }" ({ "{") (if_statement "if (local_ac != 1) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }" (if "if") (parenthesized_expression "(local_ac != 1)" (( "(") (binary_expression "local_ac != 1" (identifier "local_ac") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);\n    }" ({ "{") (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x40b8)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x40b8" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x40b8")) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined2 *)(piVar2 + 0x3e) = 0;" (assignment_expression "*(undefined2 *)(piVar2 + 0x3e) = 0" (pointer_expression "*(undefined2 *)(piVar2 + 0x3e)" (* "*") (cast_expression "(undefined2 *)(piVar2 + 0x3e)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 0x3e)" (( "(") (binary_expression "piVar2 + 0x3e" (identifier "piVar2") (+ "+") (number_literal "0x3e")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001d394;" (goto "goto") (statement_identifier "LAB_0001d394") (; ";")) (} "}"))) (expression_statement "*(undefined2 *)(piVar2 + 0x3e) = local_aa;" (assignment_expression "*(undefined2 *)(piVar2 + 0x3e) = local_aa" (pointer_expression "*(undefined2 *)(piVar2 + 0x3e)" (* "*") (cast_expression "(undefined2 *)(piVar2 + 0x3e)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 0x3e)" (( "(") (binary_expression "piVar2 + 0x3e" (identifier "piVar2") (+ "+") (number_literal "0x3e")) () ")")))) (= "=") (identifier "local_aa")) (; ";")) (goto_statement "goto LAB_0001d394;" (goto "goto") (statement_identifier "LAB_0001d394") (; ";")) (labeled_statement "LAB_0001da08:\n  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();" (statement_identifier "LAB_0001da08") (: ":") (expression_statement "param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "param_2 = (int *)(*(code *)PTR___errno_location_0003d198)()" (identifier "param_2") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);" (assignment_expression "uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_strerror_0003d1dc)(*param_2)" (parenthesized_expression "(*(code *)PTR_strerror_0003d1dc)" (( "(") (pointer_expression "*(code *)PTR_strerror_0003d1dc" (* "*") (cast_expression "(code *)PTR_strerror_0003d1dc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_0003d1dc"))) () ")")) (argument_list "(*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")))) (; ";")) (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x409c" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x409c")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (if_statement "if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }" (if "if") (parenthesized_expression "(((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0))" (( "(") (binary_expression "((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)" (parenthesized_expression "((piVar2[0x3d] & 0x200U) != 0)" (( "(") (binary_expression "(piVar2[0x3d] & 0x200U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x200U)" (( "(") (binary_expression "piVar2[0x3d] & 0x200U" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x200U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar2[0x22] != 0)" (( "(") (binary_expression "piVar2[0x22] != 0" (subscript_expression "piVar2[0x22]" (identifier "piVar2") ([ "[") (number_literal "0x22") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);\n    if (iVar3 == 0) goto LAB_0001d46c;\n    iVar3 = *param_2;\n    uVar12 = 0x18d4;\n    goto joined_r0x0001de3c;\n  }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" (( "(") (pointer_expression "*(code *)PTR_close_0003d128" (* "*") (cast_expression "(code *)PTR_close_0003d128" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_0003d128"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_0001d46c;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";"))) (expression_statement "iVar3 = *param_2;" (assignment_expression "iVar3 = *param_2" (identifier "iVar3") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar12 = 0x18d4;" (assignment_expression "uVar12 = 0x18d4" (identifier "uVar12") (= "=") (number_literal "0x18d4")) (; ";")) (goto_statement "goto joined_r0x0001de3c;" (goto "goto") (statement_identifier "joined_r0x0001de3c") (; ";")) (} "}"))) (if_statement "if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }" (if "if") (parenthesized_expression "(((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0))" (( "(") (binary_expression "((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)" (parenthesized_expression "((int)unaff_s2 < 0x400)" (( "(") (binary_expression "(int)unaff_s2 < 0x400" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (< "<") (number_literal "0x400")) () ")")) (|| "||") (parenthesized_expression "((piVar2[0x3d] & 0x240U) != 0)" (( "(") (binary_expression "(piVar2[0x3d] & 0x240U) != 0" (parenthesized_expression "(piVar2[0x3d] & 0x240U)" (( "(") (binary_expression "piVar2[0x3d] & 0x240U" (subscript_expression "piVar2[0x3d]" (identifier "piVar2") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x240U")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    param_2 = piVar2 + 0x25;\n    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);\n    if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }\n    goto LAB_0001d824;\n  }" ({ "{") (expression_statement "param_2 = piVar2 + 0x25;" (assignment_expression "param_2 = piVar2 + 0x25" (identifier "param_2") (= "=") (binary_expression "piVar2 + 0x25" (identifier "piVar2") (+ "+") (number_literal "0x25"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_init_0003d238)" (( "(") (pointer_expression "*(code *)PTR_pthread_mutex_init_0003d238" (* "*") (cast_expression "(code *)PTR_pthread_mutex_init_0003d238" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pthread_mutex_init_0003d238"))) () ")")) (argument_list "(param_2,0)" (( "(") (identifier "param_2") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);\n      goto LAB_0001d660;\n    }" ({ "{") (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4014)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4014" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4014")) () ")"))) (; ";")) (goto_statement "goto LAB_0001d660;" (goto "goto") (statement_identifier "LAB_0001d660") (; ";")) (} "}"))) (goto_statement "goto LAB_0001d824;" (goto "goto") (statement_identifier "LAB_0001d824") (; ";")) (} "}"))) (labeled_statement "LAB_0001daac:\n  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);" (statement_identifier "LAB_0001daac") (: ":") (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4c5c" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4c5c")) (, ",") (identifier "unaff_s2") (, ",") (number_literal "0x400") () ")"))) (; ";"))) (expression_statement "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" (( "(") (pointer_expression "*(code *)PTR_close_0003d128" (* "*") (cast_expression "(code *)PTR_close_0003d128" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_0003d128"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    iVar3 = *piVar5;\n    uVar12 = 0x18e3;\n    goto joined_r0x0001de3c;\n  }" ({ "{") (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar3 = *piVar5;" (assignment_expression "iVar3 = *piVar5" (identifier "iVar3") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "uVar12 = 0x18e3;" (assignment_expression "uVar12 = 0x18e3" (identifier "uVar12") (= "=") (number_literal "0x18e3")) (; ";")) (goto_statement "goto joined_r0x0001de3c;" (goto "goto") (statement_identifier "joined_r0x0001de3c") (; ";")) (} "}"))) (labeled_statement "LAB_0001d46c:\n  if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }" (statement_identifier "LAB_0001d46c") (: ":") (if_statement "if (piVar2[0x34] != -1) {\n    (*(code *)PTR_close_0003d128)();\n  }" (if "if") (parenthesized_expression "(piVar2[0x34] != -1)" (( "(") (binary_expression "piVar2[0x34] != -1" (subscript_expression "piVar2[0x34]" (identifier "piVar2") ([ "[") (number_literal "0x34") (] "]")) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n    (*(code *)PTR_close_0003d128)();\n  }" ({ "{") (expression_statement "(*(code *)PTR_close_0003d128)();" (call_expression "(*(code *)PTR_close_0003d128)()" (parenthesized_expression "(*(code *)PTR_close_0003d128)" (( "(") (pointer_expression "*(code *)PTR_close_0003d128" (* "*") (cast_expression "(code *)PTR_close_0003d128" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_0003d128"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_free_0003d250)(piVar2[0x41]);" (call_expression "(*(code *)PTR_free_0003d250)(piVar2[0x41])" (parenthesized_expression "(*(code *)PTR_free_0003d250)" (( "(") (pointer_expression "*(code *)PTR_free_0003d250" (* "*") (cast_expression "(code *)PTR_free_0003d250" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0003d250"))) () ")")) (argument_list "(piVar2[0x41])" (( "(") (subscript_expression "piVar2[0x41]" (identifier "piVar2") ([ "[") (number_literal "0x41") (] "]")) () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" (( "(") (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" (* "*") (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pthread_mutex_destroy_0003d264"))) () ")")) (argument_list "(param_7)" (( "(") (identifier "param_7") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_0001e310;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e310;" (goto "goto") (statement_identifier "LAB_0001e310") (; ";"))) (if_statement "if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }" (if "if") (parenthesized_expression "((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0))" (( "(") (binary_expression "(piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)" (parenthesized_expression "(piVar2[0x36] != -1)" (( "(") (binary_expression "piVar2[0x36] != -1" (subscript_expression "piVar2[0x36]" (identifier "piVar2") ([ "[") (number_literal "0x36") (] "]")) (!= "!=") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)" (( "(") (comma_expression "iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)()" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_close_0003d128)()" (parenthesized_expression "(*(code *)PTR_close_0003d128)" (( "(") (pointer_expression "*(code *)PTR_close_0003d128" (* "*") (cast_expression "(code *)PTR_close_0003d128" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_0003d128"))) () ")")) (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n    uVar12 = 0x19f0;\n    if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }\n  }" ({ "{") (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = 0x19f0;" (assignment_expression "uVar12 = 0x19f0" (identifier "uVar12") (= "=") (number_literal "0x19f0")) (; ";")) (if_statement "if (*piVar5 == 9) {\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }" (if "if") (parenthesized_expression "(*piVar5 == 9)" (( "(") (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (number_literal "9")) () ")")) (compound_statement "{\nLAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);\nLAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);\nLAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);\n      piVar2 = (int *)0x0;\n      goto LAB_0001d504;\n    }" ({ "{") (labeled_statement "LAB_0001d9b4:\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);" (statement_identifier "LAB_0001d9b4") (: ":") (expression_statement "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c);" (call_expression "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c)" (parenthesized_expression "(**(code **)PTR_DAT_0003d03c)" (( "(") (pointer_expression "**(code **)PTR_DAT_0003d03c" (* "*") (pointer_expression "*(code **)PTR_DAT_0003d03c" (* "*") (cast_expression "(code **)PTR_DAT_0003d03c" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_DAT_0003d03c")))) () ")")) (argument_list "(*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x442c)" (( "(") (pointer_expression "*(undefined4 *)PTR_DAT_0003d038" (* "*") (cast_expression "(undefined4 *)PTR_DAT_0003d038" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_0003d038"))) (, ",") (binary_expression "PTR_DAT_0003d02c + -0x51b0" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x51b0")) (, ",") (identifier "uVar12") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x442c" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x442c")) () ")"))) (; ";"))) (labeled_statement "LAB_0001d9d8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);" (statement_identifier "LAB_0001d9d8") (: ":") (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x4284)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4284" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4284")) () ")"))) (; ";"))) (labeled_statement "LAB_0001d9f0:\n      (*(code *)PTR_free_0003d250)(piVar2);" (statement_identifier "LAB_0001d9f0") (: ":") (expression_statement "(*(code *)PTR_free_0003d250)(piVar2);" (call_expression "(*(code *)PTR_free_0003d250)(piVar2)" (parenthesized_expression "(*(code *)PTR_free_0003d250)" (( "(") (pointer_expression "*(code *)PTR_free_0003d250" (* "*") (cast_expression "(code *)PTR_free_0003d250" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0003d250"))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")"))) (; ";"))) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" (identifier "piVar2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0001d504;" (goto "goto") (statement_identifier "LAB_0001d504") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0001d4f0:\n  (*(code *)PTR_free_0003d250)(piVar2);" (statement_identifier "LAB_0001d4f0") (: ":") (expression_statement "(*(code *)PTR_free_0003d250)(piVar2);" (call_expression "(*(code *)PTR_free_0003d250)(piVar2)" (parenthesized_expression "(*(code *)PTR_free_0003d250)" (( "(") (pointer_expression "*(code *)PTR_free_0003d250" (* "*") (cast_expression "(code *)PTR_free_0003d250" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0003d250"))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")"))) (; ";"))) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" (identifier "piVar2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0001d504:\n  do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );" (statement_identifier "LAB_0001d504") (: ":") (do_statement "do {\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  } while( true );" (do "do") (compound_statement "{\n    if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }\n    (*(code *)PTR___stack_chk_fail_0003d21c)();\nLAB_0001e310:\n    uVar12 = 0x19e2;\nLAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }\n    piVar2[0x22] = (int)piVar15;\n    (*(code *)puVar11)(piVar2);\n    unaff_s4 = param_2;\nLAB_0001d568:\n    param_2 = unaff_s4;\n    piVar2 = (int *)0x0;\n  }" ({ "{") (if_statement "if (local_2c == *(int *)puVar1) {\n      return piVar2;\n    }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar1)" (( "(") (binary_expression "local_2c == *(int *)puVar1" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) () ")")) (compound_statement "{\n      return piVar2;\n    }" ({ "{") (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___stack_chk_fail_0003d21c)();" (call_expression "(*(code *)PTR___stack_chk_fail_0003d21c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0003d21c)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0003d21c" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0003d21c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0003d21c"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001e310:\n    uVar12 = 0x19e2;" (statement_identifier "LAB_0001e310") (: ":") (expression_statement "uVar12 = 0x19e2;" (assignment_expression "uVar12 = 0x19e2" (identifier "uVar12") (= "=") (number_literal "0x19e2")) (; ";"))) (labeled_statement "LAB_0001e284:\n    while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }" (statement_identifier "LAB_0001e284") (: ":") (while_statement "while( true ) {\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      (**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);\nLAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);\nLAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;\n      if (piVar15 != (int *)0x0) break;\nLAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }\n      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);\n      uVar12 = 0x19ba;\n      if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }\n    }" ({ "{") (expression_statement "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414);" (call_expression "(**(code **)PTR_DAT_0003d03c)\n                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414)" (parenthesized_expression "(**(code **)PTR_DAT_0003d03c)" (( "(") (pointer_expression "**(code **)PTR_DAT_0003d03c" (* "*") (pointer_expression "*(code **)PTR_DAT_0003d03c" (* "*") (cast_expression "(code **)PTR_DAT_0003d03c" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_DAT_0003d03c")))) () ")")) (argument_list "(*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,\n                 PTR_DAT_0003d02c + -0x4414)" (( "(") (pointer_expression "*(undefined4 *)PTR_DAT_0003d038" (* "*") (cast_expression "(undefined4 *)PTR_DAT_0003d038" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_0003d038"))) (, ",") (binary_expression "PTR_DAT_0003d02c + -0x51b0" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x51b0")) (, ",") (identifier "uVar12") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x4414" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x4414")) () ")"))) (; ";")) (labeled_statement "LAB_0001e2a8:\n      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);" (statement_identifier "LAB_0001e2a8") (: ":") (expression_statement "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);" (call_expression "FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20)" (identifier "FUN_0001e5b0") (argument_list "(piVar2,PTR_DAT_0003d02c + -0x3f20)" (( "(") (identifier "piVar2") (, ",") (binary_expression "PTR_DAT_0003d02c + -0x3f20" (identifier "PTR_DAT_0003d02c") (+ "+") (number_literal "-0x3f20")) () ")"))) (; ";"))) (labeled_statement "LAB_0001e054:\n      puVar11 = PTR_MHD_stop_daemon_0003d168;" (statement_identifier "LAB_0001e054") (: ":") (expression_statement "puVar11 = PTR_MHD_stop_daemon_0003d168;" (assignment_expression "puVar11 = PTR_MHD_stop_daemon_0003d168" (identifier "puVar11") (= "=") (identifier "PTR_MHD_stop_daemon_0003d168")) (; ";"))) (if_statement "if (piVar15 != (int *)0x0) break;" (if "if") (parenthesized_expression "(piVar15 != (int *)0x0)" (( "(") (binary_expression "piVar15 != (int *)0x0" (identifier "piVar15") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_0001e05c:\n      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }" (statement_identifier "LAB_0001e05c") (: ":") (if_statement "if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))\n      {\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }" (if "if") (parenthesized_expression "((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))" (( "(") (binary_expression "(unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)" (parenthesized_expression "(unaff_s2 != 0xffffffff)" (( "(") (binary_expression "unaff_s2 != 0xffffffff" (identifier "unaff_s2") (!= "!=") (number_literal "0xffffffff")) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)" (( "(") (comma_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0" (assignment_expression "iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_close_0003d128)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_close_0003d128)" (( "(") (pointer_expression "*(code *)PTR_close_0003d128" (* "*") (cast_expression "(code *)PTR_close_0003d128" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_0003d128"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();\n        uVar12 = 0x19b9;\n        if (*piVar5 == 9) goto LAB_0001db00;\n      }" ({ "{") (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0003d198)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003d198)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003d198)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003d198" (* "*") (cast_expression "(code *)PTR___errno_location_0003d198" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003d198"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = 0x19b9;" (assignment_expression "uVar12 = 0x19b9" (identifier "uVar12") (= "=") (number_literal "0x19b9")) (; ";")) (if_statement "if (*piVar5 == 9) goto LAB_0001db00;" (if "if") (parenthesized_expression "(*piVar5 == 9)" (( "(") (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001db00;" (goto "goto") (statement_identifier "LAB_0001db00") (; ";"))) (} "}")))) (expression_statement "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);" (assignment_expression "iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2)" (parenthesized_expression "(*(code *)PTR_pthread_mutex_destroy_0003d264)" (( "(") (pointer_expression "*(code *)PTR_pthread_mutex_destroy_0003d264" (* "*") (cast_expression "(code *)PTR_pthread_mutex_destroy_0003d264" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_pthread_mutex_destroy_0003d264"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "uVar12 = 0x19ba;" (assignment_expression "uVar12 = 0x19ba" (identifier "uVar12") (= "=") (number_literal "0x19ba")) (; ";")) (if_statement "if (iVar3 == 0) {\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }\n        goto LAB_0001d46c;\n      }" ({ "{") (if_statement "if (piVar2[0x1d] != 0) {\n          (*(code *)PTR_free_0003d250)();\n        }" (if "if") (parenthesized_expression "(piVar2[0x1d] != 0)" (( "(") (binary_expression "piVar2[0x1d] != 0" (subscript_expression "piVar2[0x1d]" (identifier "piVar2") ([ "[") (number_literal "0x1d") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          (*(code *)PTR_free_0003d250)();\n        }" ({ "{") (expression_statement "(*(code *)PTR_free_0003d250)();" (call_expression "(*(code *)PTR_free_0003d250)()" (parenthesized_expression "(*(code *)PTR_free_0003d250)" (( "(") (pointer_expression "*(code *)PTR_free_0003d250" (* "*") (cast_expression "(code *)PTR_free_0003d250" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0003d250"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0001d46c;" (goto "goto") (statement_identifier "LAB_0001d46c") (; ";")) (} "}"))) (} "}")))) (expression_statement "piVar2[0x22] = (int)piVar15;" (assignment_expression "piVar2[0x22] = (int)piVar15" (subscript_expression "piVar2[0x22]" (identifier "piVar2") ([ "[") (number_literal "0x22") (] "]")) (= "=") (cast_expression "(int)piVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar15"))) (; ";")) (expression_statement "(*(code *)puVar11)(piVar2);" (call_expression "(*(code *)puVar11)(piVar2)" (parenthesized_expression "(*(code *)puVar11)" (( "(") (pointer_expression "*(code *)puVar11" (* "*") (cast_expression "(code *)puVar11" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar11"))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")"))) (; ";")) (expression_statement "unaff_s4 = param_2;" (assignment_expression "unaff_s4 = param_2" (identifier "unaff_s4") (= "=") (identifier "param_2")) (; ";")) (labeled_statement "LAB_0001d568:\n    param_2 = unaff_s4;" (statement_identifier "LAB_0001d568") (: ":") (expression_statement "param_2 = unaff_s4;" (assignment_expression "param_2 = unaff_s4" (identifier "param_2") (= "=") (identifier "unaff_s4")) (; ";"))) (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" (identifier "piVar2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}")))

/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */

type_1 *
function_1(type_2 var_2,uint16_t port,type_3 apc,void *apc_cls,
                   type_4 var_5,void *dh_cls,type_5 ap)

{
  type_6 *var_13;
  type_6 *var_14;
  type_6 *puVar3;
  int var_44;
  type_1 *var_12;
  type_7 var_21;
  type_8 var_23;
  type_2 var_24;
  type_9 *var_26;
  int var_25;
  int *piVar10;
  type_10 *pMVar11;
  type_11 *var_38;
  type_1 *var_34;
  int var_39;
  type_12 *pcVar15;
  type_13 start_routine;
  type_14 **ppMVar16;
  type_15 in_register_00000014;
  char *thread_name;
  type_14 *pMVar17;
  type_11 uVar18;
  type_14 *pMVar19;
  void *pvVar20;
  int *var_3;
  type_8 var_6;
  type_10 *unaff_s4;
  type_10 *pMVar22;
  type_2 var_36;
  type_11 *var_41;
  type_2 var_40;
  type_16 on;
  type_17 *var_29;
  type_18 var_43;
  type_16 v6_only;
  type_19 servaddr4;
  type_20 servaddr6;
  type_21 bindaddr;
  
  puVar3 = PTR___stack_chk_guard_0003d244;
  pMVar11 = (type_10 *)var_1(in_register_00000014,port);
  var_3 = (int *)(var_2 & 2);
  var_44 = *(int *)PTR___stack_chk_guard_0003d244;
  on = 1;
  var_29 = (type_17 *)0x0;
  if (var_3 != (int *)0x0) goto LAB_0001d568;
  var_6 = var_2;
  if ((var_2 & 0x8000) != 0) {
    var_6 = var_2 | var_4;
  }
  unaff_s4 = pMVar11;
  if (var_5 == (type_4)0x0) goto LAB_0001d568;
  if ((var_6 & (var_7|var_8)) == (var_7|var_8)) goto LAB_0001d568;
  if ((var_6 & (var_7|var_9)) ==
      (var_7|var_9)) goto LAB_0001d568;
  if ((var_6 & (var_10|var_9)) == var_8)
  goto LAB_0001d568;
  if ((int)(var_6 << 0xf) < 0) {
    if ((var_6 & (var_7|var_8)) != var_11) goto LAB_0001d568;
    if ((var_6 & var_9) == var_11) {
      var_6 = var_6 | var_7;
    }
    else {
      var_6 = var_6 | var_8;
    }
  }
  var_12 = (type_1 *)(*(type_12 *)PTR_calloc_0003d120)(1,0x130);
  if (var_12 == (type_1 *)0x0) goto LAB_0001d568;
  var_12->listening_address_reuse = 0;
  var_12->epoll_fd = -1;
  var_12->listen_fd = -1;
  (var_12->itc).fd = -1;
  var_12->connection_limit = 0x3fc;
  var_12->listen_backlog_size = 0x80;
  var_13 = var_37;
  var_12->pool_size = 0x8000;
  var_12->strict_for_client = (var_6 << 0x1a) >> 0x1f;
  var_12->pool_increment = 0x400;
  var_14 = var_37;
  var_12->custom_error_log = (MHD_LogCallback)(var_13 + -0x7d68);
  var_13 = PTR_stderr_0003d258;
  var_12->options = var_6;
  var_12->port = port;
  var_12->apc = apc;
  var_12->apc_cls = apc_cls;
  var_12->default_handler = var_5;
  var_12->default_handler_cls = dh_cls;
  var_12->connections = 0;
  var_12->unescape_callback = (UnescapeCallback)(var_14 + -0x7d48);
  var_12->connection_timeout = 0;
  var_12->custom_error_log_cls = *(void **)var_13;
  if ((var_6 & (var_15|var_9)) ==
      var_9) {
    var_16(var_12,var_17 + -0x43e0);
    var_6 = var_12->options | var_15;
    var_12->options = var_6;
LAB_0001d440:
    if ((var_6 & var_18) != var_11) {
      var_6 = var_6 | var_19;
      var_12->options = var_6;
    }
  }
  else {
    if ((var_6 & var_15) != var_11) goto LAB_0001d440;
    var_6 = var_6 & ~var_19;
    var_12->options = var_6;
  }
  var_12->digest_auth_rand_size = 0;
  var_12->digest_auth_random = (char *)0x0;
  var_12->nonce_nc_size = 4;
  var_21 = var_20(var_12,&var_29,ap);
  if (var_21 != var_22) goto LAB_0001d4f0;
  var_23 = var_12->options;
  if ((var_12->notify_completed == (type_22)0x0) ||
     ((var_23 & var_9) == var_11)) {
    if ((var_23 & var_19) != var_11) {
      var_24 = var_12->worker_pool_size;
      goto LAB_0001d2f4;
    }
  }
  else {
    var_12->options = var_23 | var_19;
    var_24 = var_12->worker_pool_size;
LAB_0001d2f4:
    if (var_24 == 0) {
      var_25 = (*(type_12 *)PTR_eventfd_0003d148)(0,0x80080);
      (var_12->itc).fd = var_25;
      if (var_25 == -1) {
        var_38 = (type_11 *)(*(type_12 *)PTR___errno_location_0003d198)();
        uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_38);
        var_16(var_12,var_17 + -0x4310,uVar18);
        goto LAB_0001d9f0;
      }
      if (((var_12->options & (var_7|var_8)) == var_11) && (0x3ff < var_25)) {
        var_16(var_12,var_17 + -0x42d4);
        var_25 = (*(type_12 *)PTR_close_0003d128)((var_12->itc).fd);
        if (var_25 == 0) goto LAB_0001d4f0;
        piVar10 = (int *)(*(type_12 *)PTR___errno_location_0003d198)();
        uVar18 = 0x172d;
        if (*piVar10 != 9) goto LAB_0001d4f0;
        goto LAB_0001d9b4;
      }
    }
  }
  var_24 = var_12->nonce_nc_size;
  if (var_24 != 0) {
    if (var_24 != (var_24 * 0x98) / 0x98) goto LAB_0001d9d8;
    var_26 = (type_9 *)(*(type_12 *)PTR_malloc_0003d1e0)();
    var_12->nnc = var_26;
    if (var_26 == (type_9 *)0x0) {
      var_38 = (type_11 *)(*(type_12 *)PTR___errno_location_0003d198)();
      uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_38);
      var_16(var_12,var_17 + -0x425c,uVar18);
      goto LAB_0001d9f0;
    }
  }
  ap = &var_12->nnc_lock;
  var_25 = (*(type_12 *)PTR_pthread_mutex_init_0003d238)(ap,0);
  if (var_25 != 0) {
    var_16(var_12,var_17 + -0x422c);
    (*(type_12 *)PTR_free_0003d250)(var_12->nnc);
    goto LAB_0001d9f0;
  }
  var_23 = var_12->options;
  if (((var_23 & var_15) == var_11) && (var_12->worker_pool_size != 0))
  {
    var_16(var_12,var_17 + -0x4200);
    goto LAB_0001d46c;
  }
  var_6 = var_12->listen_fd;
  if (var_6 == ~var_11) {
    if ((var_23 & var_18) != var_11) goto LAB_0001d3c4;
    var_25 = 2;
    if ((var_23 & var_27) != var_11) {
      var_25 = 10;
    }
    var_6 = var_28(var_25);
    if (var_6 == ~var_11) {
      var_38 = (type_11 *)(*(type_12 *)PTR___errno_location_0003d198)();
      uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_38);
      var_16(var_12,var_17 + -0x41b8,uVar18);
      goto LAB_0001d46c;
    }
    if (var_12->listening_address_reuse == 0) {
      var_25 = (*(type_12 *)PTR_setsockopt_0003d284)(var_6,0xffff,4,&on,4);
      if (var_25 < 0) {
        var_38 = (type_11 *)(*(type_12 *)PTR___errno_location_0003d198)();
        uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_38);
        var_16(var_12,var_17 + -0x418c,uVar18);
      }
    }
    else if (0 < var_12->listening_address_reuse) {
      var_25 = (*(type_12 *)PTR_setsockopt_0003d284)(var_6,0xffff,4,&on,4);
      if (var_25 < 0) {
        var_38 = (type_11 *)(*(type_12 *)PTR___errno_location_0003d198)();
        uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_38);
        var_16(var_12,var_17 + -0x418c,uVar18);
      }
      var_25 = (*(type_12 *)PTR_setsockopt_0003d284)(var_6,0xffff,0x200,&on,4);
      if (var_25 < 0) {
        var_38 = (type_11 *)(*(type_12 *)PTR___errno_location_0003d198)();
        uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_38);
        var_16(var_12,var_17 + -0x418c,uVar18);
        goto LAB_0001d46c;
      }
    }
    if ((var_12->options & var_27) == var_11) {
      var_43 = 0x10;
      if (var_29 == (type_17 *)0x0) {
        servaddr4.sin_addr.s_addr = 0;
        servaddr4.sin_zero[0] = '\0';
        servaddr4.sin_zero[1] = '\0';
        servaddr4.sin_zero[2] = '\0';
        servaddr4.sin_zero[3] = '\0';
        servaddr4.sin_family = 2;
        var_29 = (type_17 *)&servaddr4;
        servaddr4.sin_zero[4] = '\0';
        servaddr4.sin_zero[5] = '\0';
        servaddr4.sin_zero[6] = '\0';
        servaddr4.sin_zero[7] = '\0';
        var_12->listen_fd = var_6;
        servaddr4.sin_port = port;
      }
      else {
        var_12->listen_fd = var_6;
      }
    }
    else {
      var_43 = 0x1c;
      if (var_29 == (type_17 *)0x0) {
        servaddr6.sin6_flowinfo = 0;
        servaddr6.sin6_scope_id = 0;
        servaddr6.sin6_family = 10;
        var_29 = (type_17 *)&servaddr6;
        servaddr6.sin6_addr.__in6_u.__u6_addr32[0] = 0;
        servaddr6.sin6_addr.__in6_u.__u6_addr32[1] = 0;
        servaddr6.sin6_addr.__in6_u.__u6_addr32[2] = 0;
        servaddr6.sin6_addr.__in6_u.__u6_addr32[3] = 0;
        var_12->listen_fd = var_6;
        servaddr6.sin6_port = port;
      }
      else {
        var_12->listen_fd = var_6;
      }
      v6_only = (type_16)((var_12->options & var_30) != var_30);
      var_25 = (*(type_12 *)PTR_setsockopt_0003d284)(var_6,0x29,0x1a,&v6_only,4);
      if (var_25 < 0) {
        var_38 = (type_11 *)(*(type_12 *)PTR___errno_location_0003d198)();
        uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_38);
        var_16(var_12,var_17 + -0x418c,uVar18);
      }
    }
    var_25 = (*(type_12 *)PTR_bind_0003d1a8)(var_6,var_29,var_43);
    var_13 = PTR_setsockopt_0003d284;
    if (var_25 == -1) {
      var_3 = (int *)(*(type_12 *)PTR___errno_location_0003d198)();
      uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_3);
      var_16(var_12,var_17 + -0x4174,pMVar11,uVar18);
      var_25 = (*(type_12 *)PTR_close_0003d128)(var_6);
      if (var_25 == 0) goto LAB_0001d46c;
      var_25 = *var_3;
      uVar18 = 0x184d;
    }
    else {
      if ((var_12->options & var_31) != var_11) {
        if (var_12->fastopen_queue_size == 0) {
          var_12->fastopen_queue_size = 10;
        }
        var_25 = (*(type_12 *)var_13)(var_6,6,0x17,&var_12->fastopen_queue_size,4);
        if (var_25 != 0) {
          var_38 = (type_11 *)(*(type_12 *)PTR___errno_location_0003d198)();
          uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_38);
          var_16(var_12,var_17 + -0x418c,uVar18);
        }
      }
      var_25 = (*(type_12 *)PTR_listen_0003d16c)(var_6,var_12->listen_backlog_size);
      if (-1 < var_25) goto LAB_0001d388;
      var_3 = (int *)(*(type_12 *)PTR___errno_location_0003d198)();
      uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_3);
      var_16(var_12,var_17 + -0x4154,uVar18);
      var_25 = (*(type_12 *)PTR_close_0003d128)(var_6);
      if (var_25 == 0) goto LAB_0001d46c;
      var_25 = *var_3;
      uVar18 = 0x186b;
    }
joined_r0x0001de3c:
    do {
      if (var_25 != 9) goto LAB_0001d46c;
LAB_0001db00:
      (**(type_12 **)PTR_mhd_panic_0003d03c)
                (*(type_11 *)PTR_mhd_panic_cls_0003d038,var_17 + -0x51b0,uVar18,
                 var_17 + -0x4cfc);
LAB_0001db20:
      var_38 = (type_11 *)(*(type_12 *)PTR___errno_location_0003d198)();
      uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_38);
      var_16(var_12,var_17 + -0x412c,uVar18);
LAB_0001d394:
      var_25 = var_32(var_6);
      if (var_25 == 0) goto LAB_0001da08;
      var_23 = var_12->options;
      if ((0x3ff < (int)var_6) && ((var_23 & (var_7|var_8)) == var_11))
      goto LAB_0001daac;
LAB_0001d3c4:
      if (((var_23 & var_7) != var_11) && (var_12->worker_pool_size == 0)) {
        if ((var_23 & var_9) != var_11) {
          var_16(var_12,var_17 + -0x4064);
          goto LAB_0001d46c;
        }
        var_21 = var_33(var_12);
        if (var_21 != var_22) goto LAB_0001d46c;
      }
      pMVar11 = &var_12->per_ip_connection_mutex;
      var_25 = (*(type_12 *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);
      if (var_25 == 0) {
LAB_0001d824:
        pMVar22 = &var_12->cleanup_connection_mutex;
        var_25 = (*(type_12 *)PTR_pthread_mutex_init_0003d238)(pMVar22,0);
        if (var_25 == 0) {
          if ((var_12->options & (var_18|var_15)) !=
              var_15) goto LAB_0001d504;
          var_24 = var_12->worker_pool_size;
          if (var_24 != 0) {
            var_36 = var_12->connection_limit;
            var_34 = (type_1 *)(*(type_12 *)PTR_malloc_0003d1e0)(var_24 * 0x130);
            var_12->worker_pool = var_34;
            var_13 = var_17;
            if (var_34 == (type_1 *)0x0) goto LAB_0001e05c;
            if (var_24 == 0) {
              var_35(7);
            }
            var_40 = var_36 / var_24;
            var_25 = 0;
            pcVar15 = (type_12 *)(var_37 + -0x7d30);
            start_routine = (type_13)(var_37 + -0x3aa8);
            do {
              var_41 = (type_11 *)((int)&var_34->default_handler + var_25);
              var_38 = var_41;
              var_34 = var_12;
              do {
                ppMVar16 = &var_34->suspended_connections_head;
                pvVar20 = var_34->default_handler_cls;
                pMVar19 = var_34->connections_head;
                pMVar17 = var_34->connections_tail;
                *var_38 = var_34->default_handler;
                var_38[1] = pvVar20;
                var_38[2] = pMVar19;
                var_38[3] = pMVar17;
                var_38 = var_38 + 4;
                var_34 = (type_1 *)ppMVar16;
              } while ((type_1 *)ppMVar16 != var_12 + 1);
              var_41[0x1c] = var_12;
              var_41[0x22] = 0;
              var_41[0x1d] = 0;
              if ((var_12->options & var_19) == var_11) {
                var_41[0x36] = 0xffffffff;
              }
              else {
                var_39 = (*(type_12 *)PTR_eventfd_0003d148)(0,0x80080);
                var_41[0x36] = var_39;
                if (var_39 == -1) {
                  var_38 = (type_11 *)(*(type_12 *)PTR___errno_location_0003d198)();
                  uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_38);
                  var_16(var_12,var_17 + -0x3fb8,uVar18);
                  goto LAB_0001e054;
                }
                if (((var_12->options & (var_7|var_8)) == var_11) &&
                   (0x3ff < var_39)) {
                  var_16(var_12,var_17 + -0x3f78);
                  var_25 = (*(type_12 *)PTR_close_0003d128)(var_41[0x36]);
                  if (var_25 == 0) goto LAB_0001e054;
                  piVar10 = (int *)(*(type_12 *)PTR___errno_location_0003d198)();
                  if (*piVar10 != 9) goto LAB_0001e054;
                  uVar18 = 0x1977;
                  goto LAB_0001d9b4;
                }
              }
              if (var_3 < (int *)(var_36 % var_24)) {
                var_41[0x3a] = var_40 + 1;
              }
              else {
                var_41[0x3a] = var_40;
              }
              if (((var_12->options & var_7) != var_11) &&
                 (var_39 = (*pcVar15)(var_41), var_39 != 1)) goto LAB_0001e054;
              var_39 = (*(type_12 *)PTR_pthread_mutex_init_0003d238)(var_41 + 0x2b,0);
              if (var_39 != 0) goto LAB_0001e2a8;
              var_39 = var_42
                                 ((type_23 *)(var_41 + 0x23),var_13 + -0x3eec,
                                  var_12->thread_stack_size,start_routine,var_41);
              if (var_39 == 0) {
                var_38 = (type_11 *)(*(type_12 *)PTR___errno_location_0003d198)();
                uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_38);
                var_16(var_12,var_17 + -0x3ee0,uVar18);
                var_25 = (*(type_12 *)PTR_pthread_mutex_destroy_0003d264)(var_41 + 0x2b);
                uVar18 = 0x19a1;
                if (var_25 == 0) goto LAB_0001e054;
                goto LAB_0001e284;
              }
              var_3 = (int *)((int)var_3 + 1);
              var_25 = var_25 + 0x130;
              if ((int *)var_12->worker_pool_size <= var_3) goto LAB_0001d504;
              var_34 = var_12->worker_pool;
            } while( true );
          }
          if ((var_12->options & var_9) == var_11) {
            thread_name = var_17 + -0x43ec;
          }
          else {
            thread_name = var_17 + -0x43f8;
          }
          var_25 = var_42
                            (&var_12->pid,thread_name,var_12->thread_stack_size,
                             (type_13)(var_37 + -0x3aa8),var_12);
          if (var_25 != 0) goto LAB_0001d504;
          var_3 = (int *)(*(type_12 *)PTR___errno_location_0003d198)();
          uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)(*var_3);
          var_16(var_12,var_17 + -0x3fdc,uVar18);
          var_25 = (*(type_12 *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);
          uVar18 = 0x193b;
          if (var_25 != 0) goto LAB_0001e284;
          var_25 = (*(type_12 *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);
          uVar18 = 0x193c;
          if (var_25 != 0) goto LAB_0001e284;
          if ((var_6 == ~var_11) ||
             (var_25 = (*(type_12 *)PTR_close_0003d128)(var_6), var_25 == 0)) goto LAB_0001d46c;
          var_25 = *var_3;
          uVar18 = 0x193e;
          goto joined_r0x0001de3c;
        }
        var_16(var_12,var_17 + -0x4014);
        var_25 = (*(type_12 *)PTR_pthread_mutex_destroy_0003d264)(pMVar22);
        uVar18 = 0x190e;
        if (var_25 != 0) goto LAB_0001e284;
        if ((var_6 != ~var_11) &&
           (var_25 = (*(type_12 *)PTR_close_0003d128)(var_6), var_25 != 0)) {
          piVar10 = (int *)(*(type_12 *)PTR___errno_location_0003d198)();
          var_25 = *piVar10;
          uVar18 = 0x1911;
          goto joined_r0x0001de3c;
        }
        goto LAB_0001d46c;
      }
      var_16(var_12,var_17 + -0x4014);
      if (var_6 == ~var_11) goto LAB_0001d46c;
LAB_0001d660:
      var_25 = (*(type_12 *)PTR_close_0003d128)(var_6);
      if (var_25 == 0) goto LAB_0001d46c;
      piVar10 = (int *)(*(type_12 *)PTR___errno_location_0003d198)();
      var_25 = *piVar10;
      uVar18 = 0x1904;
    } while( true );
  }
LAB_0001d388:
  if (var_12->port != 0) goto LAB_0001d394;
  if ((var_12->options & var_18) != var_11) goto LAB_0001d394;
  uVar18 = (*(type_12 *)PTR_memset_0003d19c)(&bindaddr,0,0x80);
  var_43 = 0x80;
  var_25 = (*(type_12 *)PTR_getsockname_0003d15c)(var_6,uVar18,&var_43);
  if (var_25 != 0) goto LAB_0001db20;
  if (0x80 < var_43) {
    var_16(var_12,var_17 + -0x4104);
    goto LAB_0001d394;
  }
  if ((bindaddr.ss_family != 2) && (bindaddr.ss_family != 10)) {
    if (bindaddr.ss_family != 1) {
      var_16(var_12,var_17 + -0x40b8);
    }
    var_12->port = 0;
    goto LAB_0001d394;
  }
  var_12->port = bindaddr.__ss_padding._0_2_;
  goto LAB_0001d394;
LAB_0001da08:
  pMVar11 = (type_10 *)(*(type_12 *)PTR___errno_location_0003d198)();
  uVar18 = (*(type_12 *)PTR_strerror_0003d1dc)((pMVar11->__data).__lock);
  var_16(var_12,var_17 + -0x409c,uVar18);
  if (((var_12->options & var_7) != var_11) || (var_12->worker_pool_size != 0)) {
    var_25 = (*(type_12 *)PTR_close_0003d128)(var_6);
    if (var_25 == 0) goto LAB_0001d46c;
    var_25 = (pMVar11->__data).__lock;
    uVar18 = 0x18d4;
    goto joined_r0x0001de3c;
  }
  if (((int)var_6 < 0x400) || ((var_12->options & (var_7|var_8)) != var_11))
  {
    pMVar11 = &var_12->per_ip_connection_mutex;
    var_25 = (*(type_12 *)PTR_pthread_mutex_init_0003d238)(pMVar11,0);
    if (var_25 != 0) {
      var_16(var_12,var_17 + -0x4014);
      goto LAB_0001d660;
    }
    goto LAB_0001d824;
  }
LAB_0001daac:
  var_16(var_12,var_17 + -0x4c5c,var_6,0x400);
  var_25 = (*(type_12 *)PTR_close_0003d128)(var_6);
  if (var_25 != 0) {
    piVar10 = (int *)(*(type_12 *)PTR___errno_location_0003d198)();
    var_25 = *piVar10;
    uVar18 = 0x18e3;
    goto joined_r0x0001de3c;
  }
LAB_0001d46c:
  if (var_12->epoll_fd != -1) {
    (*(type_12 *)PTR_close_0003d128)();
  }
  (*(type_12 *)PTR_free_0003d250)(var_12->nnc);
  var_25 = (*(type_12 *)PTR_pthread_mutex_destroy_0003d264)(ap);
  if (var_25 != 0) goto LAB_0001e310;
  if (((var_12->itc).fd != -1) && (var_25 = (*(type_12 *)PTR_close_0003d128)(), var_25 != 0)) {
    piVar10 = (int *)(*(type_12 *)PTR___errno_location_0003d198)();
    uVar18 = 0x19f0;
    if (*piVar10 == 9) {
LAB_0001d9b4:
      (**(type_12 **)PTR_mhd_panic_0003d03c)
                (*(type_11 *)PTR_mhd_panic_cls_0003d038,var_17 + -0x51b0,uVar18,
                 var_17 + -0x442c);
LAB_0001d9d8:
      var_16(var_12,var_17 + -0x4284);
LAB_0001d9f0:
      (*(type_12 *)PTR_free_0003d250)(var_12);
      var_12 = (type_1 *)0x0;
      goto LAB_0001d504;
    }
  }
LAB_0001d4f0:
  (*(type_12 *)PTR_free_0003d250)(var_12);
  var_12 = (type_1 *)0x0;
LAB_0001d504:
  do {
    if (var_44 == *(int *)puVar3) {
      return var_12;
    }
    (*(type_12 *)PTR___stack_chk_fail_0003d21c)();
LAB_0001e310:
    uVar18 = 0x19e2;
LAB_0001e284:
    while( true ) {
      (**(type_12 **)PTR_mhd_panic_0003d03c)
                (*(type_11 *)PTR_mhd_panic_cls_0003d038,var_17 + -0x51b0,uVar18,
                 var_17 + -0x4414);
LAB_0001e2a8:
      var_16(var_12,var_17 + -0x3f20);
LAB_0001e054:
      var_13 = PTR_MHD_stop_daemon_0003d168;
      if (var_3 != (int *)0x0) break;
LAB_0001e05c:
      if ((var_6 != ~var_11) &&
         (var_25 = (*(type_12 *)PTR_close_0003d128)(var_6), var_25 != 0)) {
        piVar10 = (int *)(*(type_12 *)PTR___errno_location_0003d198)();
        uVar18 = 0x19b9;
        if (*piVar10 == 9) goto LAB_0001db00;
      }
      var_25 = (*(type_12 *)PTR_pthread_mutex_destroy_0003d264)(pMVar11);
      uVar18 = 0x19ba;
      if (var_25 == 0) {
        if (var_12->worker_pool != (type_1 *)0x0) {
          (*(type_12 *)PTR_free_0003d250)();
        }
        goto LAB_0001d46c;
      }
    }
    var_12->worker_pool_size = (type_2)var_3;
    (*(type_12 *)var_13)(var_12);
    unaff_s4 = pMVar11;
LAB_0001d568:
    pMVar11 = unaff_s4;
    var_12 = (type_1 *)0x0;
  } while( true );
}


(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (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: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (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: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (goto_statement label: (statement_identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal))))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) 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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (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 (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) condition: (parenthesized_expression (true))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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) (subscript_expression argument: (identifier) index: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) condition: (parenthesized_expression (true)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (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: (identifier))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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) (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (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: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) condition: (parenthesized_expression (true)))))))

int * MASKED(uint param_1,int *param_2,int param_3,int param_4,int param_5,int param_6,
                         int *param_7)

{
  undefined *puVar1;
  int *piVar2;
  int iVar3;
  uint uVar4;
  int *piVar5;
  undefined4 *puVar6;
  code *pcVar7;
  undefined *puVar8;
  int *piVar9;
  int *piVar10;
  undefined *puVar11;
  undefined4 uVar12;
  int iVar13;
  int iVar14;
  int *piVar15;
  uint unaff_s2;
  int *unaff_s4;
  undefined2 uVar16;
  uint uVar17;
  int iVar18;
  int *piVar19;
  uint uVar20;
  undefined4 local_e8;
  undefined2 *local_e4;
  uint local_e0;
  uint local_dc;
  undefined2 local_d8;
  undefined2 local_d6;
  undefined4 local_d4;
  undefined4 local_d0;
  undefined4 local_cc;
  undefined2 local_c8;
  undefined2 local_c6;
  undefined4 local_c4;
  undefined4 local_c0;
  undefined4 local_bc;
  undefined4 local_b8;
  undefined4 local_b4;
  undefined4 local_b0;
  short local_ac;
  undefined2 local_aa;
  int local_2c;
  
  puVar1 = PTR___stack_chk_guard_0003d244;
  piVar15 = (int *)(param_1 & 2);
  local_2c = *(int *)PTR___stack_chk_guard_0003d244;
  local_e8 = 1;
  local_e4 = (undefined2 *)0x0;
  if (piVar15 != (int *)0x0) goto LAB_0001d568;
  unaff_s2 = param_1;
  if ((param_1 & 0x8000) != 0) {
    unaff_s2 = param_1 | 0x2400;
  }
  unaff_s4 = param_2;
  if (param_5 == 0) goto LAB_0001d568;
  if ((unaff_s2 & 0x240) == 0x240) goto LAB_0001d568;
  if ((unaff_s2 & 0x204) == 0x204) goto LAB_0001d568;
  if ((unaff_s2 & 0x4c) == 0x40) goto LAB_0001d568;
  if ((int)(unaff_s2 << 0xf) < 0) {
    if ((unaff_s2 & 0x240) != 0) goto LAB_0001d568;
    if ((unaff_s2 & 4) == 0) {
      unaff_s2 = unaff_s2 | 0x200;
    }
    else {
      unaff_s2 = unaff_s2 | 0x40;
    }
  }
  piVar2 = (int *)(*(code *)PTR_calloc_0003d120)(1,0x130);
  if (piVar2 == (int *)0x0) goto LAB_0001d568;
  piVar2[0x33] = 0;
  piVar2[0x34] = -1;
  piVar2[0x32] = -1;
  piVar2[0x36] = -1;
  piVar2[0x3a] = 0x3fc;
  piVar2[0x4b] = 0x80;
  puVar11 = PTR_LAB_0003d054;
  piVar2[0x1f] = 0x8000;
  piVar2[0x3f] = (unaff_s2 << 0x1a) >> 0x1f;
  piVar2[0x20] = 0x400;
  puVar8 = PTR_LAB_0003d054;
  piVar2[0x1a] = (int)(puVar11 + -0x7d68);
  puVar11 = PTR_stderr_0003d258;
  piVar2[0x3d] = unaff_s2;
  uVar16 = SUB42(param_2,0);
  *(undefined2 *)(piVar2 + 0x3e) = uVar16;
  piVar2[0x10] = param_3;
  piVar2[0x11] = param_4;
  *piVar2 = param_5;
  piVar2[1] = param_6;
  piVar2[0x39] = 0;
  piVar2[0x18] = (int)(puVar8 + -0x7d48);
  piVar2[0x3b] = 0;
  piVar2[0x1b] = *(int *)puVar11;
  if ((unaff_s2 & 0xc) == 4) {
    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x43e0);
    unaff_s2 = piVar2[0x3d] | 8;
    piVar2[0x3d] = unaff_s2;
LAB_0001d440:
    if ((unaff_s2 & 0x100) != 0) {
      unaff_s2 = unaff_s2 | 0x400;
      piVar2[0x3d] = unaff_s2;
    }
  }
  else {
    if ((unaff_s2 & 8) != 0) goto LAB_0001d440;
    unaff_s2 = unaff_s2 & 0xfffffbff;
    piVar2[0x3d] = unaff_s2;
  }
  piVar2[0x48] = 0;
  piVar2[0x40] = 0;
  piVar2[0x49] = 4;
  iVar3 = FUN_00017d48(piVar2,&local_e4,param_7);
  if (iVar3 != 1) goto LAB_0001d4f0;
  uVar4 = piVar2[0x3d];
  if ((piVar2[0x12] == 0) || ((uVar4 & 4) == 0)) {
    if ((uVar4 & 0x400) != 0) {
      iVar3 = piVar2[0x22];
      goto LAB_0001d2f4;
    }
  }
  else {
    piVar2[0x3d] = uVar4 | 0x400;
    iVar3 = piVar2[0x22];
LAB_0001d2f4:
    if (iVar3 == 0) {
      iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);
      piVar2[0x36] = iVar3;
      if (iVar3 == -1) {
        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4310,uVar12);
        goto LAB_0001d9f0;
      }
      if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x42d4);
        iVar3 = (*(code *)PTR_close_0003d128)(piVar2[0x36]);
        if (iVar3 == 0) goto LAB_0001d4f0;
        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = 0x172d;
        if (*piVar5 != 9) goto LAB_0001d4f0;
        goto LAB_0001d9b4;
      }
    }
  }
  uVar4 = piVar2[0x49];
  if (uVar4 != 0) {
    if (uVar4 != (uVar4 * 0x98) / 0x98) goto LAB_0001d9d8;
    iVar3 = (*(code *)PTR_malloc_0003d1e0)();
    piVar2[0x41] = iVar3;
    if (iVar3 == 0) {
      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x425c,uVar12);
      goto LAB_0001d9f0;
    }
  }
  param_7 = piVar2 + 0x42;
  iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_7,0);
  if (iVar3 != 0) {
    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x422c);
    (*(code *)PTR_free_0003d250)(piVar2[0x41]);
    goto LAB_0001d9f0;
  }
  uVar4 = piVar2[0x3d];
  if (((uVar4 & 8) == 0) && (piVar2[0x22] != 0)) {
    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4200);
    goto LAB_0001d46c;
  }
  unaff_s2 = piVar2[0x32];
  if (unaff_s2 == 0xffffffff) {
    if ((uVar4 & 0x100) != 0) goto LAB_0001d3c4;
    uVar12 = 2;
    if ((uVar4 & 0x10) != 0) {
      uVar12 = 10;
    }
    unaff_s2 = FUN_000200f4(uVar12);
    if (unaff_s2 == 0xffffffff) {
      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x41b8,uVar12);
      goto LAB_0001d46c;
    }
    if (piVar2[0x33] == 0) {
      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);
      if (iVar3 < 0) {
        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);
      }
    }
    else if (0 < piVar2[0x33]) {
      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,4,&local_e8,4);
      if (iVar3 < 0) {
        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);
      }
      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0xffff,0x200,&local_e8,4);
      if (iVar3 < 0) {
        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);
        goto LAB_0001d46c;
      }
    }
    if ((piVar2[0x3d] & 0x10U) == 0) {
      local_e0 = 0x10;
      if (local_e4 == (undefined2 *)0x0) {
        local_d4 = 0;
        local_d0 = 0;
        local_d8 = 2;
        local_e4 = &local_d8;
        local_cc = 0;
        piVar2[0x32] = unaff_s2;
        local_d6 = uVar16;
      }
      else {
        piVar2[0x32] = unaff_s2;
      }
    }
    else {
      local_e0 = 0x1c;
      if (local_e4 == (undefined2 *)0x0) {
        local_c4 = 0;
        local_b0 = 0;
        local_c8 = 10;
        local_e4 = &local_c8;
        local_c0 = 0;
        local_bc = 0;
        local_b8 = 0;
        local_b4 = 0;
        piVar2[0x32] = unaff_s2;
        local_c6 = uVar16;
      }
      else {
        piVar2[0x32] = unaff_s2;
      }
      local_dc = (uint)((piVar2[0x3d] & 0x810U) != 0x810);
      iVar3 = (*(code *)PTR_setsockopt_0003d284)(unaff_s2,0x29,0x1a,&local_dc,4);
      if (iVar3 < 0) {
        puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);
      }
    }
    iVar3 = (*(code *)PTR_bind_0003d1a8)(unaff_s2,local_e4,local_e0);
    puVar11 = PTR_setsockopt_0003d284;
    if (iVar3 == -1) {
      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();
      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4174,param_2,uVar12);
      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);
      if (iVar3 == 0) goto LAB_0001d46c;
      iVar3 = *piVar15;
      uVar12 = 0x184d;
    }
    else {
      if ((piVar2[0x3d] & 0x4000U) != 0) {
        if (piVar2[0x4a] == 0) {
          piVar2[0x4a] = 10;
        }
        iVar3 = (*(code *)puVar11)(unaff_s2,6,0x17,piVar2 + 0x4a,4);
        if (iVar3 != 0) {
          puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x418c,uVar12);
        }
      }
      iVar3 = (*(code *)PTR_listen_0003d16c)(unaff_s2,piVar2[0x4b]);
      if (-1 < iVar3) goto LAB_0001d388;
      piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();
      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4154,uVar12);
      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);
      if (iVar3 == 0) goto LAB_0001d46c;
      iVar3 = *piVar15;
      uVar12 = 0x186b;
    }
joined_r0x0001de3c:
    do {
      if (iVar3 != 9) goto LAB_0001d46c;
LAB_0001db00:
      (**(code **)PTR_DAT_0003d03c)
                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,
                 PTR_DAT_0003d02c + -0x4cfc);
LAB_0001db20:
      puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
      uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x412c,uVar12);
LAB_0001d394:
      iVar3 = FUN_0001fdfc(unaff_s2);
      if (iVar3 == 0) goto LAB_0001da08;
      uVar4 = piVar2[0x3d];
      if ((0x3ff < (int)unaff_s2) && ((uVar4 & 0x240) == 0)) goto LAB_0001daac;
LAB_0001d3c4:
      if (((uVar4 & 0x200) != 0) && (piVar2[0x22] == 0)) {
        if ((uVar4 & 4) != 0) {
          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4064);
          goto LAB_0001d46c;
        }
        iVar3 = FUN_000182d0(piVar2);
        if (iVar3 != 1) goto LAB_0001d46c;
      }
      param_2 = piVar2 + 0x25;
      iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);
      if (iVar3 == 0) {
LAB_0001d824:
        piVar5 = piVar2 + 0x2b;
        iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar5,0);
        if (iVar3 == 0) {
          if ((piVar2[0x3d] & 0x108U) != 8) goto LAB_0001d504;
          uVar4 = piVar2[0x22];
          if (uVar4 != 0) {
            uVar17 = piVar2[0x3a];
            iVar3 = (*(code *)PTR_malloc_0003d1e0)(uVar4 * 0x130);
            piVar2[0x1d] = iVar3;
            puVar11 = PTR_DAT_0003d02c;
            if (iVar3 == 0) goto LAB_0001e05c;
            if (uVar4 == 0) {
              trap(7);
            }
            uVar20 = uVar17 / uVar4;
            iVar18 = 0;
            pcVar7 = (code *)(PTR_LAB_0003d054 + -0x7d30);
            puVar8 = PTR_LAB_0003d054 + -0x3aa8;
            do {
              piVar19 = (int *)(iVar3 + iVar18);
              piVar5 = piVar19;
              piVar9 = piVar2;
              do {
                piVar10 = piVar9 + 4;
                iVar14 = piVar9[1];
                iVar13 = piVar9[2];
                iVar3 = piVar9[3];
                *piVar5 = *piVar9;
                piVar5[1] = iVar14;
                piVar5[2] = iVar13;
                piVar5[3] = iVar3;
                piVar5 = piVar5 + 4;
                piVar9 = piVar10;
              } while (piVar10 != piVar2 + 0x4c);
              piVar19[0x1c] = (int)piVar2;
              piVar19[0x22] = 0;
              piVar19[0x1d] = 0;
              if ((piVar2[0x3d] & 0x400U) == 0) {
                piVar19[0x36] = -1;
              }
              else {
                iVar3 = (*(code *)PTR_eventfd_0003d148)(0,0x80080);
                piVar19[0x36] = iVar3;
                if (iVar3 == -1) {
                  puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
                  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fb8,uVar12);
                  goto LAB_0001e054;
                }
                if (((piVar2[0x3d] & 0x240U) == 0) && (0x3ff < iVar3)) {
                  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f78);
                  iVar3 = (*(code *)PTR_close_0003d128)(piVar19[0x36]);
                  if (iVar3 == 0) goto LAB_0001e054;
                  piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
                  if (*piVar5 != 9) goto LAB_0001e054;
                  uVar12 = 0x1977;
                  goto LAB_0001d9b4;
                }
              }
              if (piVar15 < (int *)(uVar17 % uVar4)) {
                piVar19[0x3a] = uVar20 + 1;
              }
              else {
                piVar19[0x3a] = uVar20;
              }
              if (((piVar2[0x3d] & 0x200U) != 0) && (iVar3 = (*pcVar7)(piVar19), iVar3 != 1))
              goto LAB_0001e054;
              iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(piVar19 + 0x2b,0);
              if (iVar3 != 0) goto LAB_0001e2a8;
              iVar3 = FUN_000215fc(piVar19 + 0x23,puVar11 + -0x3eec,piVar2[0x21],puVar8,piVar19);
              if (iVar3 == 0) {
                puVar6 = (undefined4 *)(*(code *)PTR___errno_location_0003d198)();
                uVar12 = (*(code *)PTR_strerror_0003d1dc)(*puVar6);
                FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3ee0,uVar12);
                iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar19 + 0x2b);
                uVar12 = 0x19a1;
                if (iVar3 == 0) goto LAB_0001e054;
                goto LAB_0001e284;
              }
              piVar15 = (int *)((int)piVar15 + 1);
              iVar18 = iVar18 + 0x130;
              if ((int *)piVar2[0x22] <= piVar15) goto LAB_0001d504;
              iVar3 = piVar2[0x1d];
            } while( true );
          }
          if ((piVar2[0x3d] & 4U) == 0) {
            puVar11 = PTR_DAT_0003d02c + -0x43ec;
          }
          else {
            puVar11 = PTR_DAT_0003d02c + -0x43f8;
          }
          iVar3 = FUN_000215fc(piVar2 + 0x23,puVar11,piVar2[0x21],PTR_LAB_0003d054 + -0x3aa8,piVar2)
          ;
          if (iVar3 != 0) goto LAB_0001d504;
          piVar15 = (int *)(*(code *)PTR___errno_location_0003d198)();
          uVar12 = (*(code *)PTR_strerror_0003d1dc)(*piVar15);
          FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3fdc,uVar12);
          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);
          uVar12 = 0x193b;
          if (iVar3 != 0) goto LAB_0001e284;
          iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);
          uVar12 = 0x193c;
          if (iVar3 != 0) goto LAB_0001e284;
          if ((unaff_s2 == 0xffffffff) ||
             (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 == 0)) goto LAB_0001d46c;
          iVar3 = *piVar15;
          uVar12 = 0x193e;
          goto joined_r0x0001de3c;
        }
        FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);
        iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(piVar5);
        uVar12 = 0x190e;
        if (iVar3 != 0) goto LAB_0001e284;
        if ((unaff_s2 != 0xffffffff) &&
           (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0)) {
          piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
          iVar3 = *piVar5;
          uVar12 = 0x1911;
          goto joined_r0x0001de3c;
        }
        goto LAB_0001d46c;
      }
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);
      if (unaff_s2 == 0xffffffff) goto LAB_0001d46c;
LAB_0001d660:
      iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);
      if (iVar3 == 0) goto LAB_0001d46c;
      piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
      iVar3 = *piVar5;
      uVar12 = 0x1904;
    } while( true );
  }
LAB_0001d388:
  if (*(short *)(piVar2 + 0x3e) != 0) goto LAB_0001d394;
  if ((piVar2[0x3d] & 0x100U) != 0) goto LAB_0001d394;
  uVar12 = (*(code *)PTR_memset_0003d19c)(&local_ac,0,0x80);
  local_e0 = 0x80;
  iVar3 = (*(code *)PTR_getsockname_0003d15c)(unaff_s2,uVar12,&local_e0);
  if (iVar3 != 0) goto LAB_0001db20;
  if (0x80 < local_e0) {
    FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4104);
    goto LAB_0001d394;
  }
  if ((local_ac != 2) && (local_ac != 10)) {
    if (local_ac != 1) {
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x40b8);
    }
    *(undefined2 *)(piVar2 + 0x3e) = 0;
    goto LAB_0001d394;
  }
  *(undefined2 *)(piVar2 + 0x3e) = local_aa;
  goto LAB_0001d394;
LAB_0001da08:
  param_2 = (int *)(*(code *)PTR___errno_location_0003d198)();
  uVar12 = (*(code *)PTR_strerror_0003d1dc)(*param_2);
  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x409c,uVar12);
  if (((piVar2[0x3d] & 0x200U) != 0) || (piVar2[0x22] != 0)) {
    iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);
    if (iVar3 == 0) goto LAB_0001d46c;
    iVar3 = *param_2;
    uVar12 = 0x18d4;
    goto joined_r0x0001de3c;
  }
  if (((int)unaff_s2 < 0x400) || ((piVar2[0x3d] & 0x240U) != 0)) {
    param_2 = piVar2 + 0x25;
    iVar3 = (*(code *)PTR_pthread_mutex_init_0003d238)(param_2,0);
    if (iVar3 != 0) {
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4014);
      goto LAB_0001d660;
    }
    goto LAB_0001d824;
  }
LAB_0001daac:
  FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4c5c,unaff_s2,0x400);
  iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2);
  if (iVar3 != 0) {
    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
    iVar3 = *piVar5;
    uVar12 = 0x18e3;
    goto joined_r0x0001de3c;
  }
LAB_0001d46c:
  if (piVar2[0x34] != -1) {
    (*(code *)PTR_close_0003d128)();
  }
  (*(code *)PTR_free_0003d250)(piVar2[0x41]);
  iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_7);
  if (iVar3 != 0) goto LAB_0001e310;
  if ((piVar2[0x36] != -1) && (iVar3 = (*(code *)PTR_close_0003d128)(), iVar3 != 0)) {
    piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
    uVar12 = 0x19f0;
    if (*piVar5 == 9) {
LAB_0001d9b4:
      (**(code **)PTR_DAT_0003d03c)
                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,
                 PTR_DAT_0003d02c + -0x442c);
LAB_0001d9d8:
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x4284);
LAB_0001d9f0:
      (*(code *)PTR_free_0003d250)(piVar2);
      piVar2 = (int *)0x0;
      goto LAB_0001d504;
    }
  }
LAB_0001d4f0:
  (*(code *)PTR_free_0003d250)(piVar2);
  piVar2 = (int *)0x0;
LAB_0001d504:
  do {
    if (local_2c == *(int *)puVar1) {
      return piVar2;
    }
    (*(code *)PTR___stack_chk_fail_0003d21c)();
LAB_0001e310:
    uVar12 = 0x19e2;
LAB_0001e284:
    while( true ) {
      (**(code **)PTR_DAT_0003d03c)
                (*(undefined4 *)PTR_DAT_0003d038,PTR_DAT_0003d02c + -0x51b0,uVar12,
                 PTR_DAT_0003d02c + -0x4414);
LAB_0001e2a8:
      FUN_0001e5b0(piVar2,PTR_DAT_0003d02c + -0x3f20);
LAB_0001e054:
      puVar11 = PTR_MHD_stop_daemon_0003d168;
      if (piVar15 != (int *)0x0) break;
LAB_0001e05c:
      if ((unaff_s2 != 0xffffffff) && (iVar3 = (*(code *)PTR_close_0003d128)(unaff_s2), iVar3 != 0))
      {
        piVar5 = (int *)(*(code *)PTR___errno_location_0003d198)();
        uVar12 = 0x19b9;
        if (*piVar5 == 9) goto LAB_0001db00;
      }
      iVar3 = (*(code *)PTR_pthread_mutex_destroy_0003d264)(param_2);
      uVar12 = 0x19ba;
      if (iVar3 == 0) {
        if (piVar2[0x1d] != 0) {
          (*(code *)PTR_free_0003d250)();
        }
        goto LAB_0001d46c;
      }
    }
    piVar2[0x22] = (int)piVar15;
    (*(code *)puVar11)(piVar2);
    unaff_s4 = param_2;
LAB_0001d568:
    param_2 = unaff_s4;
    piVar2 = (int *)0x0;
  } while( true );
}

