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

void __regparm3 MHD_ip_limit_del(MHD_Daemon *daemon,sockaddr *addr,socklen_t addrlen)

{
  MHD_mutex_ *pMVar1;
  MHD_AcceptPolicyCallback p_Var2;
  socklen_t sVar3;
  MHD_NotifyConnectionCallback p_Var4;
  MHD_thread_ID_ MVar5;
  MHD_AccessHandlerCallback p_Var6;
  gnutls_credentials_type_t gVar7;
  int iVar8;
  uint uVar9;
  MHD_Daemon *pMVar10;
  undefined4 *puVar11;
  int iVar12;
  int *piVar13;
  MHD_Daemon *pMVar14;
  MHD_Connection *pMVar15;
  MemoryPool *pMVar16;
  sockaddr *psVar17;
  time_t tVar18;
  MHD_Connection *pMVar19;
  undefined4 *puVar20;
  MHD_Connection *pMVar21;
  ssize_t sVar22;
  MHD_Daemon *pMVar23;
  char *pcVar24;
  int iVar25;
  MHD_FLAG MVar26;
  undefined4 extraout_ECX;
  int iVar27;
  __compar_fn_t extraout_EDX;
  code *pcVar28;
  uint extraout_EDX_00;
  undefined4 extraout_EDX_01;
  MHD_Connection *extraout_EDX_02;
  int iVar29;
  undefined1 *puVar30;
  undefined4 *puVar31;
  undefined1 *puVar32;
  undefined4 *puVar33;
  undefined1 *puVar34;
  undefined1 *puVar35;
  int in_GS_OFFSET;
  undefined8 uVar36;
  byte abStack_29e [450];
  size_t asStack_dc [5];
  socklen_t sStack_c8;
  int iStack_c4;
  uint auStack_c0 [6];
  byte abStack_a8 [4];
  int aiStack_a4 [18];
  MHD_Daemon *in_stack_ffffffb4;
  MHD_IPCount search_key;
  
  iVar29 = *(int *)(in_GS_OFFSET + 0x14);
  do {
    pMVar14 = daemon;
    daemon = pMVar14->master;
  } while (pMVar14->master != (MHD_Daemon *)0x0);
  if (pMVar14->per_ip_connection_limit == 0) {
LAB_0001a89b:
    if (iVar29 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
      __stack_chk_fail_local();
    }
    return;
  }
  pMVar19 = (MHD_Connection *)&search_key;
  uVar9 = 0;
  do {
    *(undefined4 *)((int)&pMVar19->nextE + uVar9) = 0;
    uVar9 = uVar9 + 4;
  } while (uVar9 < 0x18);
  if (addrlen == 0x10) {
    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 2);
    search_key.family = 2;
  }
  else {
    if (addrlen != 0x1c) goto LAB_0001a89b;
    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 6);
    search_key.family = 10;
    search_key.addr._4_4_ = *(undefined4 *)(addr->sa_data + 10);
    search_key.addr._8_2_ = addr[1].sa_family;
    search_key.addr._10_1_ = addr[1].sa_data[0];
    search_key.addr._11_1_ = addr[1].sa_data[1];
    search_key.addr._12_4_ = *(undefined4 *)(addr[1].sa_data + 2);
  }
  pMVar1 = &pMVar14->per_ip_connection_mutex;
  pMVar10 = (MHD_Daemon *)pthread_mutex_lock((pthread_mutex_t *)pMVar1);
  puVar31 = (undefined4 *)&stack0xffffffb4;
  if (pMVar10 == (MHD_Daemon *)0x0) {
    pcVar28 = MHD_ip_addr_compare;
    pMVar14 = (MHD_Daemon *)&pMVar14->per_ip_connection_count;
    puVar11 = (undefined4 *)tfind(pMVar19,(void **)pMVar14,MHD_ip_addr_compare);
    puVar30 = &stack0xffffffb4;
    if (puVar11 != (undefined4 *)0x0) {
      pMVar19 = (MHD_Connection *)*puVar11;
      if (pMVar19->prevX != (MHD_Connection *)0x0) {
        puVar32 = &pMVar19->prevX[-1].field_0xfb;
        pMVar19->prevX = (MHD_Connection *)puVar32;
        if (puVar32 == (undefined1 *)0x0) goto LAB_0001a978;
        while (iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0) {
          MHD_ip_count_unlock(in_stack_ffffffb4);
          pcVar28 = extraout_EDX;
LAB_0001a978:
          tdelete(pMVar19,(void **)pMVar14,pcVar28);
          free(pMVar19);
        }
        goto LAB_0001a89b;
      }
      puVar30 = &stack0xffffffa4;
      (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1e2,
                   "Previously-added IP address had counter of zero\n");
    }
    *(char **)(puVar30 + -4) = "Failed to find previously-added IP address\n";
    *(undefined4 *)(puVar30 + -8) = 0x1dc;
    *(char **)(puVar30 + -0xc) = "daemon.c";
    puVar31 = (undefined4 *)(puVar30 + -0x10);
    *(void **)(puVar30 + -0x10) = mhd_panic_cls;
    *(undefined4 *)(puVar30 + -0x14) = 0x1a9d3;
    pMVar10 = (MHD_Daemon *)
              (*mhd_panic)(*(void **)(puVar30 + -0x10),*(char **)(puVar30 + -0xc),
                           *(uint *)(puVar30 + -8),*(char **)(puVar30 + -4));
  }
  puVar31[-1] = 0x1a9d8;
  MHD_ip_count_lock((MHD_Daemon *)*puVar31);
  puVar31[-1] = pMVar19;
  puVar31[-2] = pMVar1;
  puVar31[-3] = pMVar14;
  puVar31[-4] = &_GLOBAL_OFFSET_TABLE_;
  puVar31[-5] = 0x1a9eb;
  iVar29 = puVar31[-5];
  puVar31[-0x10] = extraout_ECX;
  puVar31[-0x11] = extraout_EDX_00;
  puVar31[-0xf] = puVar31[3];
  puVar31[-0xe] = puVar31[2];
  puVar31[-8] = *(undefined4 *)(in_GS_OFFSET + 0x14);
  puVar11 = puVar31 + -0x13;
  if (((char)puVar31[2] != '\0') &&
     (pMVar14 = pMVar10->worker_pool, puVar11 = puVar31 + -0x13, pMVar14 != (MHD_Daemon *)0x0)) {
    uVar9 = pMVar10->worker_pool_size;
    if (uVar9 != 0) {
      pMVar10 = pMVar14 + extraout_EDX_00 % uVar9;
      if (pMVar10->connection_limit <= pMVar10->connections) {
        pMVar15 = (MHD_Connection *)puVar31[-0x11];
        pMVar19 = (MHD_Connection *)((int)&pMVar15->nextE + uVar9);
        do {
          pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);
          if (pMVar19 == pMVar15) goto LAB_0001aa90;
          pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;
        } while (pMVar10->connection_limit <= pMVar10->connections);
      }
      puVar31[-0x15] = (uint)*(byte *)(puVar31 + -0xf);
      puVar31[-0x16] = 1;
      puVar31[-0x17] = puVar31[1];
      puVar31[-0x18] = 0x1ae14;
      internal_add_connection
                (pMVar10,puVar31[-0x11],(sockaddr *)puVar31[-0x10],puVar31[-0x17],
                 *(_Bool *)(puVar31 + -0x16),*(_Bool *)(puVar31 + -0x15));
      puVar11 = puVar31 + -0x13;
      goto LAB_0001ab43;
    }
LAB_0001aa90:
    puVar11 = puVar31 + -0x17;
    puVar31[-0x17] = puVar31[-0x11];
    puVar31[-0x18] = 0x1aa9c;
    pMVar10 = (MHD_Daemon *)close(puVar31[-0x17]);
    puVar31[-0x18] = 0x1aaa3;
    piVar13 = __errno_location();
    puVar33 = puVar31 + -0x13;
    if ((pMVar10 != (MHD_Daemon *)0x0) && (puVar33 = puVar31 + -0x13, *piVar13 == 9)) {
      puVar31[-0x14] = iVar29 + 0x1066d;
      puVar31[-0x15] = 0x900;
      puVar31[-0x16] = iVar29 + 0x10659;
      puVar31[-0x17] = *(undefined4 *)(iVar29 + 0x1a67d);
      pcVar28 = *(code **)(iVar29 + 0x1a681);
      puVar31[-0x18] = 0x1aad6;
      (*pcVar28)();
      goto LAB_0001aae0;
    }
LAB_0001ab3b:
    puVar11 = puVar33;
    *piVar13 = 0x17;
LAB_0001ab43:
    if (*(int *)((int)puVar11 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)((int)puVar11 + -4) = 0x1b4e1;
      __stack_chk_fail_local();
    }
    return;
  }
LAB_0001aae0:
  if ((*(int *)((int)puVar11 + 8) < 0x400) ||
     ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {
    puVar33 = puVar11;
    pMVar15 = pMVar19;
    pMVar14 = pMVar10;
    pMVar23 = pMVar10;
    if (pMVar10->connections != pMVar10->connection_limit) {
      do {
        pMVar14 = pMVar23;
        pMVar23 = pMVar14->master;
      } while (pMVar14->master != (MHD_Daemon *)0x0);
      if (pMVar14->per_ip_connection_limit != 0) {
        *(undefined4 *)((int)puVar11 + -0xc) = 1;
        *(undefined4 *)((int)puVar11 + -0x10) = 0x18;
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c;
        pMVar19 = (MHD_Connection *)
                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));
        pMVar15 = pMVar19;
        if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001ab0a;
        if (*(int *)((int)puVar11 + 0x50) == 0x10) goto LAB_0001b05b;
        if (*(int *)((int)puVar11 + 0x50) == 0x1c) {
          iVar12 = *(int *)((int)puVar11 + 0xc);
          pMVar19->nextE = (MHD_Connection *)0xa;
          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =
               *(in_addr_t *)(iVar12 + 8);
          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);
          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);
          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);
          pMVar19->nextX = pMVar15;
          goto LAB_0001b06b;
        }
        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8;
        free(*(void **)((int)puVar11 + -0x10));
      }
      do {
        p_Var2 = pMVar10->apc;
        if (p_Var2 != (MHD_AcceptPolicyCallback)0x0) {
          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);
          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);
          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;
          pMVar14 = (MHD_Daemon *)
                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),
                              *(socklen_t *)((int)puVar11 + -8));
          if (pMVar14 == (MHD_Daemon *)0x0) {
            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);
            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;
            iVar12 = close(*(int *)((int)puVar11 + -0x10));
            if (iVar12 != 0) {
              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;
              piVar13 = __errno_location();
              if (*piVar13 == 9) goto LAB_0001b55d;
            }
            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;
            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),
                             *(socklen_t *)((int)puVar11 + 0x50));
            goto LAB_0001ab43;
          }
        }
        *(undefined4 *)((int)puVar11 + -0xc) = 0xfc;
        *(undefined4 *)((int)puVar11 + -0x10) = 1;
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa;
        pMVar15 = (MHD_Connection *)
                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));
        if (pMVar15 == (MHD_Connection *)0x0) {
          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;
          pMVar14 = (MHD_Daemon *)__errno_location();
          pMVar19 = (MHD_Connection *)pMVar14->default_handler;
          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;
          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));
          *(char **)((int)puVar11 + -8) = pcVar24;
          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;
          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;
          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));
          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;
          iVar12 = close(*(int *)((int)puVar11 + -0x10));
          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))
          goto LAB_0001b57c;
          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;
          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),
                           *(socklen_t *)((int)puVar11 + 0x50));
          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;
          goto LAB_0001ab43;
        }
        *(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size;
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2;
        pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10));
        pMVar15->pool = pMVar16;
        if (pMVar16 == (MemoryPool *)0x0) {
          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;
          pMVar14 = (MHD_Daemon *)__errno_location();
          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;
          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));
          *(char **)((int)puVar11 + -8) = pcVar24;
          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;
          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;
          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));
          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;
          iVar12 = close(*(int *)((int)puVar11 + -0x10));
          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))
          goto LAB_0001b63b;
          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;
          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),
                           *(socklen_t *)((int)puVar11 + 0x50));
          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;
          free(*(void **)((int)puVar11 + -0x10));
          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;
          goto LAB_0001ab43;
        }
        pMVar15->connection_timeout = pMVar10->connection_timeout;
        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50);
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8;
        psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10));
        pMVar15->addr = psVar17;
        if (psVar17 == (sockaddr *)0x0) {
          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;
          pMVar14 = (MHD_Daemon *)__errno_location();
          p_Var6 = pMVar14->default_handler;
          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;
          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;
          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));
          *(char **)((int)puVar11 + -8) = pcVar24;
          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;
          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;
          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));
          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;
          iVar12 = close(*(int *)((int)puVar11 + -0x10));
          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))
          goto LAB_0001b61c;
          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;
          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),
                           *(socklen_t *)((int)puVar11 + 0x50));
          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;
          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));
          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;
          free(*(void **)((int)puVar11 + -0x10));
          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);
          goto LAB_0001ab43;
        }
        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);
        *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);
        puVar32 = (undefined1 *)((int)puVar11 + -0x10);
        *(sockaddr **)((int)puVar11 + -0x10) = psVar17;
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07;
        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),
               *(size_t *)((int)puVar11 + -8));
        sVar3 = *(socklen_t *)((int)puVar11 + 0x50);
        pMVar15->daemon = pMVar10;
        pMVar15->addr_len = sVar3;
        pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8);
        pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10);
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e;
        tVar18 = MHD_monotonic_sec_counter();
        pMVar15->last_activity = tVar18;
        if ((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG) {
          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;
          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));
LAB_0001ac50:
          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;
          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;
          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));
          puVar33 = puVar11;
          if (iVar12 != 0) goto LAB_0001b5bf;
          if (pMVar10->connections < pMVar10->connection_limit) {
            pMVar10->connections = pMVar10->connections + 1;
            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {
              pMVar19 = pMVar10->normal_timeout_head;
              pMVar21 = pMVar10->normal_timeout_tail;
              pMVar15->prevX = (MHD_Connection *)0x0;
              pMVar15->nextX = pMVar19;
              if (pMVar21 == (MHD_Connection *)0x0) {
                pMVar10->normal_timeout_tail = pMVar15;
              }
              else {
                pMVar19->prevX = pMVar15;
              }
              pMVar10->normal_timeout_head = pMVar15;
            }
            pMVar19 = pMVar10->connections_head;
            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;
            pMVar15->prev = (MHD_Connection *)0x0;
            pMVar15->next = pMVar19;
            if (pMVar14 == (MHD_Daemon *)0x0) {
              pMVar10->connections_tail = pMVar15;
            }
            else {
              pMVar19->prev = pMVar15;
            }
            pMVar10->connections_head = pMVar15;
            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);
            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;
            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));
            if (iVar12 != 0) goto LAB_0001b5fd;
            p_Var4 = pMVar10->notify_connection;
            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {
              *(undefined4 *)((int)puVar11 + -4) = 0;
              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;
              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;
              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;
              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;
              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),
                        *(void ***)((int)puVar11 + -8),
                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));
            }
            MVar26 = pMVar10->options;
            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {
              MVar5 = (pMVar10->pid).ID;
              (pMVar15->pid).handle = (pMVar10->pid).handle;
              (pMVar15->pid).ID = MVar5;
            }
            else {
              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;
              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;
              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;
              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;
              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;
              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;
              iVar12 = MHD_create_named_thread_
                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),
                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)
                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),
                                  *(void **)((int)puVar11 + -0x10));
              if (iVar12 == 0) {
                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;
                piVar13 = __errno_location();
                pMVar14 = (MHD_Daemon *)*piVar13;
                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;
                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;
                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));
                *(char **)((int)puVar11 + -8) = pcVar24;
                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;
                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;
                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;
                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));
                goto LAB_0001b19b;
              }
              MVar26 = pMVar10->options;
            }
            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {
              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&
                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&
                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {
                *(undefined4 *)((int)puVar11 + -8) = 8;
                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;
                *(int *)((int)puVar11 + -0x10) = iVar12;
                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;
                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),
                               *(size_t *)((int)puVar11 + -8));
                if (sVar22 < 1) {
                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;
                  piVar13 = __errno_location();
                  if (*piVar13 != 0xb) {
                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;
                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;
                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;
                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;
                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;
                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))
                    ;
                  }
                }
              }
              goto LAB_0001ab43;
            }
            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&
               (*(char *)((int)puVar11 + 0x14) == '\0')) {
              pMVar19 = pMVar10->eready_head;
              pMVar21 = pMVar10->eready_tail;
              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;
              pMVar15->epoll_state =
                   pMVar15->epoll_state |
                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|
                   MHD_EPOLL_STATE_READ_READY);
              pMVar15->nextE = pMVar19;
              if (pMVar21 == (MHD_Connection *)0x0) {
                pMVar10->eready_tail = pMVar15;
              }
              else {
                pMVar19->prevE = pMVar15;
              }
              pMVar10->eready_head = pMVar15;
              goto LAB_0001ab43;
            }
            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;
            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;
            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);
            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);
            *(undefined4 *)((int)puVar11 + -0xc) = 1;
            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;
            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;
            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),
                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));
            if (iVar12 == 0) {
              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;
              goto LAB_0001ab43;
            }
            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;
            piVar13 = __errno_location();
            pMVar14 = (MHD_Daemon *)*piVar13;
            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;
            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;
            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));
            *(char **)((int)puVar11 + -8) = pcVar24;
            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;
            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;
            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;
            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));
LAB_0001b19b:
            p_Var4 = pMVar10->notify_connection;
            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {
              *(undefined4 *)((int)puVar11 + -4) = 1;
              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;
              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;
              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;
              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;
              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),
                        *(void ***)((int)puVar11 + -8),
                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));
            }
            if (pMVar15->tls_session != (gnutls_session_t)0x0) {
              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;
              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;
              gnutls_deinit();
            }
            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);
            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;
            iVar12 = close(*(int *)((int)puVar11 + -0x10));
            if (iVar12 != 0) {
              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;
              piVar13 = __errno_location();
              puVar32 = (undefined1 *)puVar11;
              if (*piVar13 == 9) goto LAB_0001b500;
            }
            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;
            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),
                             *(socklen_t *)((int)puVar11 + 0x50));
            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);
            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;
            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));
            if (iVar12 != 0) goto LAB_0001b5de;
            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {
              pMVar19 = pMVar15->nextX;
              if (pMVar15->prevX == (MHD_Connection *)0x0) {
                pMVar10->normal_timeout_head = pMVar19;
                pMVar21 = (MHD_Connection *)0x0;
              }
              else {
                pMVar15->prevX->nextX = pMVar19;
                pMVar19 = pMVar15->nextX;
                pMVar21 = pMVar15->prevX;
              }
              puVar32 = (undefined1 *)puVar11;
              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;
              pMVar19->prevX = pMVar21;
LAB_0001b239:
              pMVar15->nextX = (MHD_Connection *)0x0;
              pMVar15->prevX = (MHD_Connection *)0x0;
            }
            pMVar19 = pMVar15->next;
            if (pMVar15->prev == (MHD_Connection *)0x0) {
              pMVar10->connections_head = pMVar19;
              pMVar21 = (MHD_Connection *)0x0;
            }
            else {
              pMVar15->prev->next = pMVar19;
              pMVar19 = pMVar15->next;
              pMVar21 = pMVar15->prev;
            }
            if (pMVar19 == (MHD_Connection *)0x0) {
              pMVar10->connections_tail = pMVar21;
            }
            else {
              pMVar19->prev = pMVar21;
            }
            pMVar15->next = (MHD_Connection *)0x0;
            pMVar15->prev = (MHD_Connection *)0x0;
            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);
            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;
            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));
            if (iVar12 == 0) {
              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;
              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;
              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));
              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;
              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;
              free(*(void **)((int)puVar11 + -0x10));
              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;
              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;
              free(*(void **)((int)puVar11 + -0x10));
              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;
              piVar13 = __errno_location();
              if (pMVar14 == (MHD_Daemon *)0x0) {
                *piVar13 = 0x16;
              }
              else {
                *piVar13 = (int)pMVar14;
              }
              goto LAB_0001ab43;
            }
          }
          else {
            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);
            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;
            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));
            if (iVar12 == 0) {
              pMVar14 = (MHD_Daemon *)0x17;
              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;
              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;
              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;
              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));
              goto LAB_0001b19b;
            }
            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;
            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;
            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;
            puVar32 = (undefined1 *)((int)puVar11 + -0x10);
            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
            pcVar28 = *(code **)(iVar29 + 0x1a681);
            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;
            (*pcVar28)();
LAB_0001b500:
            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;
            *(undefined4 *)(puVar32 + -8) = 0xa56;
            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;
            puVar11 = (undefined4 *)(puVar32 + -0x10);
            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
            pcVar28 = *(code **)(iVar29 + 0x1a681);
            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;
            (*pcVar28)();
          }
          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;
          *(undefined4 *)((int)puVar11 + -8) = 0xa67;
          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;
          puVar33 = (undefined4 *)((int)puVar11 + -0x10);
          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
          pcVar28 = *(code **)(iVar29 + 0x1a681);
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;
          (*pcVar28)();
          goto LAB_0001b53e;
        }
        pMVar15->tls_state = MHD_TLS_CONN_INIT;
        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c;
        MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10));
        *(undefined4 *)((int)puVar11 + -0xc) = 0x49;
        *(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session;
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afac;
        gnutls_init();
        *(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache;
        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf;
        gnutls_priority_set();
        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc);
        *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;
        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd;
        gnutls_session_set_ptr();
        gVar7 = pMVar10->cred_type;
        if (gVar7 == GNUTLS_CRD_CERTIFICATE) {
          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;
          *(undefined4 *)((int)puVar11 + -0xc) = 1;
          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;
          gnutls_credentials_set();
LAB_0001b38a:
          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);
          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);
          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;
          gnutls_transport_set_int2();
          if (pMVar10->https_mem_trust != (char *)0x0) {
            *(undefined4 *)((int)puVar11 + -0xc) = 1;
            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;
            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;
            gnutls_certificate_server_set_request();
          }
          goto LAB_0001ac50;
        }
        if (gVar7 == GNUTLS_CRD_PSK) {
          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;
          *(undefined4 *)((int)puVar11 + -0xc) = 4;
          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;
          gnutls_credentials_set();
          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;
          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;
          gnutls_psk_set_server_credentials_function();
          goto LAB_0001b38a;
        }
        *(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7;
        *(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5;
        *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon;
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1affb;
        MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));
        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10);
        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b005;
        iVar12 = close(*(int *)((int)puVar11 + -0x10));
        if (iVar12 != 0) {
          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;
          piVar13 = __errno_location();
          if (*piVar13 != 9) goto LAB_0001b01a;
          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;
          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;
          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;
          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
          pcVar28 = *(code **)(iVar29 + 0x1a681);
          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;
          (*pcVar28)();
          pMVar21 = extraout_EDX_02;
LAB_0001b472:
          pMVar10->normal_timeout_tail = pMVar21;
          puVar11 = (undefined4 *)puVar32;
          goto LAB_0001b239;
        }
LAB_0001b01a:
        *(undefined4 *)((int)puVar11 + -4) = 0x1b029;
        MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),
                         *(socklen_t *)((int)puVar11 + 0x50));
        *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b034;
        free(*(void **)((int)puVar11 + -0x10));
        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;
        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c;
        free(*(void **)((int)puVar11 + -0x10));
        *(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0;
        *(undefined4 *)((int)puVar11 + -0x18) = 0x9c9;
        *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659;
        *(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d);
        pcVar28 = *(code **)(iVar29 + 0x1a681);
        *(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b;
        pMVar19 = (MHD_Connection *)(*pcVar28)();
        puVar11 = (undefined4 *)((int)puVar11 + -0x20);
LAB_0001b05b:
        pMVar19->nextE = (MHD_Connection *)0x2;
        (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =
             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4);
        pMVar19 = pMVar15;
LAB_0001b06b:
        puVar11[6] = &pMVar14->per_ip_connection_mutex;
        puVar11[-4] = &pMVar14->per_ip_connection_mutex;
        puVar11[-5] = 0x1b07e;
        iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4]);
        pMVar15 = pMVar19;
        if (iVar12 != 0) goto LAB_0001b5ba;
        puVar11[-2] = iVar29 + -0xceb;
        puVar11[-3] = &pMVar14->per_ip_connection_count;
        puVar11[-4] = pMVar19;
        puVar11[-5] = 0x1b09d;
        puVar20 = (undefined4 *)
                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2]);
        puVar33 = puVar11;
        if (puVar20 == (undefined4 *)0x0) {
          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;
          puVar11[-4] = pMVar14;
          puVar11[-5] = 0x1b120;
          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);
          puVar11[-4] = puVar11[6];
          puVar11[-5] = 0x1b12a;
          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);
          if (iVar12 == 0) {
            puVar11[-4] = pMVar19;
            puVar11[-5] = 0x1b13a;
            free((void *)puVar11[-4]);
            goto LAB_0001ab0a;
          }
          break;
        }
        pMVar21 = (MHD_Connection *)*puVar20;
        if (pMVar19 != pMVar21) {
          puVar11[7] = pMVar21;
          puVar11[-4] = pMVar19;
          puVar11[-5] = 0x1b0b7;
          free((void *)puVar11[-4]);
          pMVar21 = (MHD_Connection *)puVar11[7];
        }
        if ((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX) goto LAB_0001b0f0;
        pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1);
        puVar11[-4] = puVar11[6];
        puVar11[-5] = 0x1b0db;
        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);
      } while (iVar12 == 0);
      do {
        puVar11[-1] = 0x1b0eb;
        MHD_ip_count_unlock((MHD_Daemon *)*puVar11);
LAB_0001b0f0:
        puVar11[-4] = puVar11[6];
        puVar11[-5] = 0x1b0fc;
        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);
      } while (iVar12 != 0);
    }
LAB_0001ab0a:
    *(char **)((int)puVar33 + -0xc) = "__fdelt_chk" + iVar29 + 7;
    *(MHD_Daemon **)((int)puVar33 + -0x10) = pMVar10;
    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab1a;
    MHD_DLOG(*(MHD_Daemon **)((int)puVar33 + -0x10),*(char **)((int)puVar33 + -0xc));
    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)((int)puVar33 + 8);
    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab24;
    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar33 + -0x10));
    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab2b;
    piVar13 = __errno_location();
    if ((pMVar10 == (MHD_Daemon *)0x0) || (*piVar13 != 9)) goto LAB_0001ab3b;
LAB_0001b53e:
    *(int *)((int)puVar33 + -4) = iVar29 + 0x1066d;
    *(undefined4 *)((int)puVar33 + -8) = 0x93d;
    *(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;
    puVar11 = (undefined4 *)((int)puVar33 + -0x10);
    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
    pcVar28 = *(code **)(iVar29 + 0x1a681);
    *(undefined4 *)((int)puVar33 + -0x14) = 0x1b55d;
    (*pcVar28)();
    pMVar19 = pMVar15;
LAB_0001b55d:
    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;
    *(undefined4 *)((int)puVar11 + -8) = 0x950;
    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;
    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
    pcVar28 = *(code **)(iVar29 + 0x1a681);
    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b57c;
    (*pcVar28)();
    puVar11 = (undefined4 *)((int)puVar11 + -0x10);
LAB_0001b57c:
    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;
    *(undefined4 *)((int)puVar11 + -8) = 0x962;
    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;
    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
    pcVar28 = *(code **)(iVar29 + 0x1a681);
    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b59b;
    (*pcVar28)();
    puVar32 = (undefined1 *)((int)puVar11 + -0x10);
  }
  else {
    *(undefined4 *)((int)puVar11 + -4) = 0x400;
    pMVar14 = *(MHD_Daemon **)((int)puVar11 + 8);
    *(MHD_Daemon **)((int)puVar11 + -8) = pMVar14;
    *(char **)((int)puVar11 + -0xc) = "pthread_self" + iVar29 + 10;
    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;
    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adc7;
    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));
    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;
    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adcf;
    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar11 + -0x10));
    *(undefined4 *)((int)puVar11 + -0x14) = 0x1add6;
    piVar13 = __errno_location();
    if ((pMVar10 == (MHD_Daemon *)0x0) || (puVar32 = (undefined1 *)puVar11, *piVar13 != 9)) {
      *piVar13 = 0x16;
      goto LAB_0001ab43;
    }
  }
  *(int *)(puVar32 + -4) = iVar29 + 0x1066d;
  *(undefined4 *)(puVar32 + -8) = 0x912;
  *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;
  puVar11 = (undefined4 *)(puVar32 + -0x10);
  *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
  pcVar28 = *(code **)(iVar29 + 0x1a681);
  *(undefined4 *)(puVar32 + -0x14) = 0x1b5ba;
  (*pcVar28)();
  pMVar15 = pMVar19;
LAB_0001b5ba:
  puVar11[-1] = 0x1b5bf;
  MHD_ip_count_lock((MHD_Daemon *)*puVar11);
  puVar33 = puVar11;
LAB_0001b5bf:
  *(int *)((int)puVar33 + -4) = iVar29 + 0xf615;
  *(undefined4 *)((int)puVar33 + -8) = 0x9e4;
  *(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;
  puVar11 = (undefined4 *)((int)puVar33 + -0x10);
  *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
  pcVar28 = *(code **)(iVar29 + 0x1a681);
  *(undefined4 *)((int)puVar33 + -0x14) = 0x1b5de;
  (*pcVar28)();
LAB_0001b5de:
  *(int *)((int)puVar11 + -4) = iVar29 + 0xf615;
  *(undefined4 *)((int)puVar11 + -8) = 0xa5b;
  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;
  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
  pcVar28 = *(code **)(iVar29 + 0x1a681);
  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b5fd;
  (*pcVar28)();
  puVar11 = (undefined4 *)((int)puVar11 + -0x10);
LAB_0001b5fd:
  *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;
  *(undefined4 *)((int)puVar11 + -8) = 0xa01;
  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;
  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
  pcVar28 = *(code **)(iVar29 + 0x1a681);
  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b61c;
  (*pcVar28)();
  puVar11 = (undefined4 *)((int)puVar11 + -0x10);
LAB_0001b61c:
  *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;
  *(undefined4 *)((int)puVar11 + -8) = 0x985;
  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;
  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
  pcVar28 = *(code **)(iVar29 + 0x1a681);
  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b63b;
  (*pcVar28)();
  puVar11 = (undefined4 *)((int)puVar11 + -0x10);
LAB_0001b63b:
  *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;
  *(undefined4 *)((int)puVar11 + -8) = 0x971;
  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;
  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);
  pcVar28 = *(code **)(iVar29 + 0x1a681);
  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b65a;
  pMVar23 = (MHD_Daemon *)(*pcVar28)();
  *(MHD_Connection **)((int)puVar11 + -0x14) = pMVar15;
  *(MHD_Daemon **)((int)puVar11 + -0x18) = pMVar14;
  *(MHD_Daemon **)((int)puVar11 + -0x1c) = pMVar10;
  *(int *)((int)puVar11 + -0x20) = iVar29 + 0x1a3f5;
  *(undefined4 *)((int)puVar11 + -0x24) = 0x1b66d;
  iVar29 = *(int *)((int)puVar11 + -0x24);
  *(undefined4 *)((int)puVar11 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);
  uVar9 = 0;
  *(undefined4 *)((int)puVar11 + -0x50) = 0x1c;
  psVar17 = (sockaddr *)((int)puVar11 + -0x4c);
  do {
    pcVar24 = psVar17->sa_data + (uVar9 - 2);
    pcVar24[0] = '\0';
    pcVar24[1] = '\0';
    pcVar24[2] = '\0';
    pcVar24[3] = '\0';
    uVar9 = uVar9 + 4;
  } while (uVar9 < 0x1c);
  iVar12 = pMVar23->listen_fd;
  puVar32 = (undefined1 *)((int)puVar11 + -0x6c);
  if ((iVar12 == -1) ||
     (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), pMVar23->was_quiesced != false)) {
LAB_0001b7c2:
    if (*(int *)(puVar32 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar32 + -4) = 0x1b867;
      __stack_chk_fail_local();
    }
    return;
  }
  *(undefined4 *)((int)puVar11 + -0x70) = 0x80800;
  *(undefined1 **)((int)puVar11 + -0x74) = (undefined1 *)((int)puVar11 + -0x50);
  *(sockaddr **)((int)puVar11 + -0x78) = psVar17;
  *(int *)((int)puVar11 + -0x7c) = iVar12;
  *(undefined4 *)((int)puVar11 + -0x80) = 0x1b6c8;
  iVar12 = accept4(*(int *)((int)puVar11 + -0x7c),*(sockaddr **)((int)puVar11 + -0x78),
                   *(socklen_t **)((int)puVar11 + -0x74),*(int *)((int)puVar11 + -0x70));
  puVar35 = (undefined1 *)((int)puVar11 + -0x6c);
  if ((iVar12 != -1) && (*(int *)((int)puVar11 + -0x50) != 0)) {
    *(undefined4 *)((int)puVar11 + -0x74) = 1;
    *(undefined4 *)((int)puVar11 + -0x78) = 0;
    *(int *)((int)puVar11 + -0x7c) = *(int *)((int)puVar11 + -0x50);
    *(undefined4 *)((int)puVar11 + -0x80) = 0x1b7f3;
    internal_add_connection
              (pMVar23,iVar12,psVar17,*(socklen_t *)((int)puVar11 + -0x7c),
               *(_Bool *)((int)puVar11 + -0x78),*(_Bool *)((int)puVar11 + -0x74));
    puVar32 = (undefined1 *)((int)puVar11 + -0x6c);
    goto LAB_0001b7c2;
  }
  *(undefined4 *)((int)puVar11 + -0x70) = 0x1b6e3;
  piVar13 = __errno_location();
  iVar25 = *piVar13;
  puVar32 = (undefined1 *)((int)puVar11 + -0x6c);
  if ((iVar25 == 0x67) || (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), iVar25 == 0x16))
  goto LAB_0001b7c2;
  *(int **)((int)puVar11 + -0x60) = piVar13;
  if (iVar25 == 0xb) {
    puVar32 = (undefined1 *)((int)puVar11 + -0x6c);
    if (iVar12 != -1) {
      *(int *)((int)puVar11 + -0x7c) = iVar12;
      *(undefined4 *)((int)puVar11 + -0x80) = 0x1b80e;
      iVar27 = close(*(int *)((int)puVar11 + -0x7c));
      piVar13 = *(int **)((int)puVar11 + -0x60);
      puVar32 = (undefined1 *)((int)puVar11 + -0x6c);
      puVar34 = (undefined1 *)((int)puVar11 + -0x6c);
      if (iVar27 != 0) goto LAB_0001b819;
    }
    goto LAB_0001b7c2;
  }
  *(int *)((int)puVar11 + -0x7c) = iVar25;
  *(undefined4 *)((int)puVar11 + -0x80) = 0x1b70d;
  pcVar24 = strerror(*(int *)((int)puVar11 + -0x7c));
  *(char **)((int)puVar11 + -0x74) = pcVar24;
  *(int *)((int)puVar11 + -0x78) = iVar29 + 0x10437;
  *(MHD_Daemon **)((int)puVar11 + -0x7c) = pMVar23;
  *(undefined4 *)((int)puVar11 + -0x80) = 0x1b71e;
  MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x7c),*(char **)((int)puVar11 + -0x78));
  puVar34 = (undefined1 *)((int)puVar11 + -0x6c);
  if (iVar12 != -1) {
    while( true ) {
      *(int *)(puVar35 + -0x10) = iVar12;
      *(undefined4 *)(puVar35 + -0x14) = 0x1b851;
      iVar27 = close(*(int *)(puVar35 + -0x10));
      piVar13 = *(int **)(puVar35 + 0xc);
      puVar34 = puVar35;
      if (iVar27 == 0) break;
LAB_0001b819:
      if (*piVar13 != 9) break;
      *(int *)(puVar34 + -4) = iVar29 + 0xf9eb;
      *(undefined4 *)(puVar34 + -8) = 0xc1a;
      *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;
      puVar35 = puVar34 + -0x10;
      *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);
      pcVar28 = *(code **)(iVar29 + 0x199ff);
      *(undefined4 *)(puVar34 + -0x14) = 0x1b841;
      (*pcVar28)();
    }
  }
  puVar32 = puVar34;
  if ((iVar25 != 0xc && iVar25 != 0x69) && (1 < iVar25 - 0x17U)) goto LAB_0001b7c2;
  if (pMVar23->connections == 0) {
    *(int *)(puVar34 + -0xc) = iVar29 + 0x10457;
    *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;
    *(undefined4 *)(puVar34 + -0x14) = 0x1b7b8;
    MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));
    goto LAB_0001b7c2;
  }
  pMVar1 = &pMVar23->cleanup_connection_mutex;
  *(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1;
  *(undefined4 *)(puVar34 + -0x14) = 0x1b75b;
  iVar25 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar34 + -0x10));
  if (iVar25 == 0) {
    pMVar23->at_limit = true;
    *(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1;
    *(undefined4 *)(puVar34 + -0x14) = 0x1b776;
    iVar25 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar34 + -0x10));
    if (iVar25 == 0) {
      *(undefined4 *)(puVar34 + 0xc) = 0;
      *(uint *)(puVar34 + -8) = pMVar23->connections;
      *(int *)(puVar34 + -0xc) = iVar29 + 0x10513;
      *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;
      *(undefined4 *)(puVar34 + -0x14) = 0x1b79b;
      MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));
      goto LAB_0001b7c2;
    }
  }
  else {
    *(int *)(puVar34 + -4) = iVar29 + 0xe993;
    *(undefined4 *)(puVar34 + -8) = 0xc2c;
    *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;
    puVar32 = puVar34 + -0x10;
    *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);
    pcVar28 = *(code **)(iVar29 + 0x199ff);
    *(undefined4 *)(puVar34 + -0x14) = 0x1b886;
    (*pcVar28)();
  }
  *(int *)(puVar32 + -4) = iVar29 + 0xe9b7;
  *(undefined4 *)(puVar32 + -8) = 0xc30;
  *(int *)(puVar32 + -0xc) = iVar29 + 0xf9d7;
  *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);
  pcVar28 = *(code **)(iVar29 + 0x199ff);
  *(undefined4 *)(puVar32 + -0x14) = 0x1b8a5;
  uVar36 = (*pcVar28)();
  pMVar14 = (MHD_Daemon *)uVar36;
  *(int *)(puVar32 + -0x14) = iVar12;
  *(MHD_mutex_ **)(puVar32 + -0x18) = pMVar1;
  *(MHD_Daemon **)(puVar32 + -0x1c) = pMVar23;
  *(int *)(puVar32 + -0x20) = iVar29 + 0x19773;
  *(undefined4 *)(puVar32 + -0x24) = 0x1b8bb;
  iVar12 = *(int *)(puVar32 + -0x24);
  iVar29 = pMVar14->listen_fd;
  *(int *)(puVar32 + -0x54) = (int)((ulonglong)uVar36 >> 0x20);
  *(undefined4 *)(puVar32 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);
  *(undefined4 *)(puVar32 + -0x40) = 0;
  *(undefined4 *)(puVar32 + -0x3c) = 0;
  *(undefined4 *)(puVar32 + -0x38) = 0;
  *(undefined4 *)(puVar32 + -0x34) = 0;
  if (iVar29 == -1) {
    iVar27 = 1;
    *(undefined4 *)(puVar32 + -0x58) = 0;
    iVar29 = 0;
    iVar25 = -1;
  }
  else if (pMVar14->was_quiesced == false) {
    *(int *)(puVar32 + -0x40) = iVar29;
    iVar25 = 0;
    iVar27 = 2;
    *(undefined2 *)(puVar32 + -0x3c) = 1;
    iVar29 = 1;
    *(undefined4 *)(puVar32 + -0x58) = 1;
  }
  else {
    *(undefined4 *)(puVar32 + -0x58) = 0;
    iVar27 = 1;
    iVar25 = -1;
    iVar29 = 0;
  }
  iVar8 = (pMVar14->itc).fd;
  MVar26 = pMVar14->options & 0x2000;
  if (iVar8 == -1) {
    iVar27 = -1;
    if (MVar26 != MHD_NO_FLAG) {
      *(undefined4 *)(puVar32 + -0x58) = 0xffffffff;
      goto LAB_0001ba92;
    }
LAB_0001ba1c:
    if (iVar29 == 0) goto LAB_0001b9ad;
    *(undefined4 *)(puVar32 + -0x60) = 0x10;
    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);
    *(int *)(puVar32 + -0x68) = iVar29;
    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;
    *(undefined4 *)(puVar32 + -0x70) = 0x1ba34;
    iVar29 = __poll_chk();
    if (-1 < iVar29) {
      if (iVar27 != -1) {
        *(int *)(puVar32 + -0x58) = iVar27;
        goto LAB_0001b975;
      }
      goto LAB_0001b984;
    }
  }
  else {
    *(int *)(puVar32 + iVar29 * 8 + -0x40) = iVar8;
    *(undefined2 *)(puVar32 + iVar29 * 8 + -0x3c) = 1;
    iVar29 = iVar27;
    if (MVar26 != MHD_NO_FLAG) {
LAB_0001ba92:
      *(int *)(puVar32 + -0x50) = iVar29;
      *(undefined4 *)(puVar32 + -0x60) = 0x1ba9d;
      resume_suspended_connections(pMVar14);
      iVar29 = *(int *)(puVar32 + -0x50);
      iVar27 = *(int *)(puVar32 + -0x58);
      goto LAB_0001ba1c;
    }
    *(undefined4 *)(puVar32 + -0x60) = 0x10;
    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);
    *(int *)(puVar32 + -0x68) = iVar27;
    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;
    *(undefined4 *)(puVar32 + -0x70) = 0x1b96a;
    iVar29 = __poll_chk();
    if (-1 < iVar29) {
LAB_0001b975:
      if ((puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0) {
        *(undefined4 *)(puVar32 + -100) = 8;
        *(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;
        *(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;
        *(undefined4 *)(puVar32 + -0x70) = 0x1bac5;
        read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));
      }
LAB_0001b984:
      if (((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0)) {
        *(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;
        MHD_accept_connection(pMVar14);
      }
      goto LAB_0001b9ad;
    }
  }
  *(undefined4 *)(puVar32 + -0x60) = 0x1ba55;
  piVar13 = __errno_location();
  if (*piVar13 != 4) {
    *(int *)(puVar32 + -0x6c) = *piVar13;
    *(undefined4 *)(puVar32 + -0x70) = 0x1ba69;
    pcVar24 = strerror(*(int *)(puVar32 + -0x6c));
    *(char **)(puVar32 + -100) = pcVar24;
    *(int *)(puVar32 + -0x68) = iVar12 + 0xf7f7;
    *(MHD_Daemon **)(puVar32 + -0x6c) = pMVar14;
    *(undefined4 *)(puVar32 + -0x70) = 0x1ba7a;
    MHD_DLOG(*(MHD_Daemon **)(puVar32 + -0x6c),*(char **)(puVar32 + -0x68));
  }
LAB_0001b9ad:
  if (*(int *)(puVar32 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    *(undefined **)(puVar32 + -0x60) = &UNK_0001bad2;
    __stack_chk_fail_local();
  }
  return;
}



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

undefined4 __regparm3 FUN_0001a860(void **param_1,int param_2,int param_3)

{
  pthread_mutex_t *__mutex;
  uint uVar1;
  code *pcVar2;
  uint uVar3;
  int iVar4;
  undefined4 *puVar5;
  int iVar6;
  int *piVar7;
  int *piVar8;
  int *piVar9;
  void *pvVar10;
  ssize_t sVar11;
  int iVar12;
  int *piVar13;
  char *pcVar14;
  int iVar15;
  undefined4 extraout_ECX;
  int *piVar16;
  int iVar17;
  __compar_fn_t extraout_EDX;
  __compar_fn_t __compar;
  undefined4 extraout_EDX_00;
  int extraout_EDX_01;
  undefined1 *puVar18;
  undefined1 *puVar19;
  undefined1 *puVar20;
  undefined1 *puVar21;
  undefined1 *puVar22;
  void **__rootp;
  undefined4 uVar23;
  int in_GS_OFFSET;
  undefined8 uVar24;
  byte abStackY_29e [450];
  size_t asStackY_dc [7];
  uint auStackY_c0 [6];
  byte abStackY_a8 [4];
  int aiStackY_a4 [18];
  undefined1 auStack_4c [12];
  __compar_fn_t local_40;
  int local_38 [4];
  undefined4 local_28;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x1a86b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  do {
    __rootp = param_1;
    param_1 = (void **)__rootp[0x1c];
  } while ((void **)__rootp[0x1c] != (void **)0x0);
  if (__rootp[0x3d] == (void *)0x0) {
LAB_0001a89b:
    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
      FUN_000299b0();
    }
    return 0;
  }
  piVar13 = local_38;
  uVar3 = 0;
  do {
    *(undefined4 *)((int)piVar13 + uVar3) = 0;
    uVar3 = uVar3 + 4;
  } while (uVar3 < 0x18);
  if (param_3 == 0x10) {
    local_38[1] = *(undefined4 *)(param_2 + 4);
    local_38[0] = 2;
  }
  else {
    if (param_3 != 0x1c) goto LAB_0001a89b;
    local_38[1] = *(undefined4 *)(param_2 + 8);
    local_38[0] = 10;
    local_38[2] = *(undefined4 *)(param_2 + 0xc);
    local_38[3] = *(undefined4 *)(param_2 + 0x10);
    local_28 = *(undefined4 *)(param_2 + 0x14);
  }
  __mutex = (pthread_mutex_t *)(__rootp + 0x25);
  iVar4 = pthread_mutex_lock(__mutex);
  puVar19 = auStack_4c;
  if (iVar4 == 0) {
    local_40 = FUN_00019d00;
    __rootp = __rootp + 0x1e;
    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);
    puVar18 = auStack_4c;
    if (puVar5 != (undefined4 *)0x0) {
      piVar13 = (int *)*puVar5;
      if (piVar13[5] != 0) {
        iVar4 = piVar13[5] + -1;
        piVar13[5] = iVar4;
        __compar = local_40;
        if (iVar4 == 0) goto LAB_0001a978;
        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {
          FUN_0001a660();
          __compar = extraout_EDX;
LAB_0001a978:
          tdelete(piVar13,__rootp,__compar);
          free(piVar13);
        }
        goto LAB_0001a89b;
      }
      puVar18 = &stack0xffffffa4;
      (*DAT_0003506c)();
    }
    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";
    *(undefined4 *)(puVar18 + -8) = 0x1dc;
    *(char **)(puVar18 + -0xc) = "daemon.c";
    puVar19 = puVar18 + -0x10;
    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;
    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;
    (*DAT_0003506c)();
  }
  *(undefined4 *)(puVar19 + -4) = 0x1a9d8;
  uVar24 = FUN_0001a630();
  uVar3 = (uint)((ulonglong)uVar24 >> 0x20);
  piVar16 = (int *)uVar24;
  *(int **)(puVar19 + -4) = piVar13;
  *(pthread_mutex_t **)(puVar19 + -8) = __mutex;
  *(void ***)(puVar19 + -0xc) = __rootp;
  *(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;
  *(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;
  iVar4 = *(int *)(puVar19 + -0x14);
  *(undefined4 *)(puVar19 + -0x40) = extraout_ECX;
  *(uint *)(puVar19 + -0x44) = uVar3;
  *(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);
  *(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);
  *(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);
  puVar20 = puVar19 + -0x4c;
  if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&
     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {
    uVar1 = piVar16[0x22];
    if (uVar1 != 0) {
      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;
      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {
        piVar16 = *(int **)(puVar19 + -0x44);
        piVar13 = (int *)(uVar1 + (int)piVar16);
        do {
          piVar16 = (int *)((int)piVar16 + 1);
          if (piVar13 == piVar16) goto LAB_0001aa90;
          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;
        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));
      }
      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];
      *(undefined4 *)(puVar19 + -0x58) = 1;
      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);
      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;
      uVar23 = FUN_0001a9e0();
      puVar20 = puVar19 + -0x4c;
      goto LAB_0001ab43;
    }
LAB_0001aa90:
    puVar20 = puVar19 + -0x5c;
    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);
    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;
    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));
    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;
    piVar7 = __errno_location();
    puVar21 = puVar19 + -0x4c;
    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {
      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;
      *(undefined4 *)(puVar19 + -0x54) = 0x900;
      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;
      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);
      pcVar2 = *(code **)(iVar4 + 0x1a681);
      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;
      (*pcVar2)();
      goto LAB_0001aae0;
    }
LAB_0001ab3b:
    puVar20 = puVar21;
    *piVar7 = 0x17;
    uVar23 = 0;
LAB_0001ab43:
    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;
      FUN_000299b0();
    }
    return uVar23;
  }
LAB_0001aae0:
  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {
    puVar21 = puVar20;
    piVar9 = piVar13;
    piVar8 = piVar16;
    piVar7 = piVar16;
    if (piVar16[0x3a] != piVar16[0x3b]) {
      do {
        piVar8 = piVar7;
        piVar7 = (int *)piVar8[0x1c];
      } while ((int *)piVar8[0x1c] != (int *)0x0);
      if (piVar8[0x3d] != 0) {
        *(undefined4 *)(puVar20 + -0xc) = 1;
        *(undefined4 *)(puVar20 + -0x10) = 0x18;
        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;
        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));
        piVar9 = piVar13;
        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;
        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;
        if (*(int *)(puVar20 + 0x50) == 0x1c) {
          iVar12 = *(int *)(puVar20 + 0xc);
          *piVar13 = 10;
          piVar13[1] = *(int *)(iVar12 + 8);
          piVar13[2] = *(int *)(iVar12 + 0xc);
          iVar6 = *(int *)(iVar12 + 0x14);
          piVar13[3] = *(int *)(iVar12 + 0x10);
          piVar13[4] = iVar6;
          goto LAB_0001b06b;
        }
        *(int **)(puVar20 + -0x10) = piVar13;
        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;
        free(*(void **)(puVar20 + -0x10));
      }
      do {
        pcVar2 = (code *)piVar16[0x10];
        if (pcVar2 != (code *)0x0) {
          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);
          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);
          *(int *)(puVar20 + -0x10) = piVar16[0x11];
          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;
          piVar8 = (int *)(*pcVar2)();
          if (piVar8 == (int *)0x0) {
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);
            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;
            iVar12 = close(*(int *)(puVar20 + -0x10));
            if (iVar12 != 0) {
              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;
              piVar7 = __errno_location();
              if (*piVar7 == 9) goto LAB_0001b55d;
            }
            *(undefined4 *)(puVar20 + -4) = 0x1aec8;
            FUN_0001a860();
            uVar23 = 0;
            goto LAB_0001ab43;
          }
        }
        *(undefined4 *)(puVar20 + -0xc) = 0xfc;
        *(undefined4 *)(puVar20 + -0x10) = 1;
        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;
        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));
        if (piVar9 == (int *)0x0) {
          *(undefined4 *)(puVar20 + -4) = 0x1aed5;
          piVar8 = __errno_location();
          piVar13 = (int *)*piVar8;
          *(int **)(puVar20 + -0x10) = piVar13;
          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;
          pcVar14 = strerror(*(int *)(puVar20 + -0x10));
          *(char **)(puVar20 + -8) = pcVar14;
          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;
          *(int **)(puVar20 + -0x10) = piVar16;
          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;
          FUN_000215b0();
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);
          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;
          iVar12 = close(*(int *)(puVar20 + -0x10));
          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;
          *(undefined4 *)(puVar20 + -4) = 0x1af1c;
          FUN_0001a860();
          *piVar8 = (int)piVar13;
          uVar23 = 0;
          goto LAB_0001ab43;
        }
        *(int *)(puVar20 + -0x10) = piVar16[0x1f];
        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;
        iVar12 = FUN_000219e0();
        piVar9[10] = iVar12;
        if (iVar12 == 0) {
          *(undefined4 *)(puVar20 + -4) = 0x1af2a;
          piVar8 = __errno_location();
          *(int *)(puVar20 + -0x10) = *piVar8;
          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;
          pcVar14 = strerror(*(int *)(puVar20 + -0x10));
          *(char **)(puVar20 + -8) = pcVar14;
          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;
          *(int **)(puVar20 + -0x10) = piVar16;
          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;
          FUN_000215b0();
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);
          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;
          iVar12 = close(*(int *)(puVar20 + -0x10));
          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;
          *(undefined4 *)(puVar20 + -4) = 0x1af70;
          FUN_0001a860();
          *(int **)(puVar20 + -0x10) = piVar9;
          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;
          free(*(void **)(puVar20 + -0x10));
          *piVar8 = 0xc;
          uVar23 = 0;
          goto LAB_0001ab43;
        }
        piVar9[0x26] = piVar16[0x3c];
        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);
        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;
        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));
        piVar9[0x15] = (int)pvVar10;
        if (pvVar10 == (void *)0x0) {
          *(undefined4 *)(puVar20 + -4) = 0x1ae23;
          piVar8 = __errno_location();
          iVar12 = *piVar8;
          *(int *)(puVar20 + 0x10) = iVar12;
          *(int *)(puVar20 + -0x10) = iVar12;
          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;
          pcVar14 = strerror(*(int *)(puVar20 + -0x10));
          *(char **)(puVar20 + -8) = pcVar14;
          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;
          *(int **)(puVar20 + -0x10) = piVar16;
          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;
          FUN_000215b0();
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);
          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;
          iVar12 = close(*(int *)(puVar20 + -0x10));
          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;
          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;
          FUN_0001a860();
          *(int *)(puVar20 + -0x10) = piVar9[10];
          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;
          FUN_00021a90();
          *(int **)(puVar20 + -0x10) = piVar9;
          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;
          free(*(void **)(puVar20 + -0x10));
          *piVar8 = *(int *)(puVar20 + 0x10);
          uVar23 = 0;
          goto LAB_0001ab43;
        }
        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);
        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);
        puVar21 = puVar20 + -0x10;
        *(void **)(puVar20 + -0x10) = pvVar10;
        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;
        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));
        iVar12 = *(int *)(puVar20 + 0x50);
        piVar9[6] = (int)piVar16;
        piVar9[0x24] = iVar12;
        piVar9[0x29] = *(int *)(puVar20 + 8);
        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];
        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;
        iVar12 = FUN_00021e50();
        piVar9[0x25] = iVar12;
        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {
          *(int **)(puVar20 + -0x10) = piVar9;
          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;
          FUN_00016110();
LAB_0001ac50:
          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;
          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;
          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;
          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));
          puVar21 = puVar20;
          if (iVar12 != 0) goto LAB_0001b5bf;
          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {
            piVar16[0x3a] = piVar16[0x3a] + 1;
            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {
              iVar12 = piVar16[0xc];
              iVar6 = piVar16[0xd];
              piVar9[5] = 0;
              piVar9[4] = iVar12;
              if (iVar6 == 0) {
                piVar16[0xd] = (int)piVar9;
              }
              else {
                *(int **)(iVar12 + 0x14) = piVar9;
              }
              piVar16[0xc] = (int)piVar9;
            }
            iVar12 = piVar16[2];
            piVar8 = (int *)piVar16[3];
            piVar9[3] = 0;
            piVar9[2] = iVar12;
            if (piVar8 == (int *)0x0) {
              piVar16[3] = (int)piVar9;
            }
            else {
              *(int **)(iVar12 + 0xc) = piVar9;
            }
            piVar16[2] = (int)piVar9;
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);
            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;
            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));
            if (iVar12 != 0) goto LAB_0001b5fd;
            pcVar2 = (code *)piVar16[0x14];
            if (pcVar2 != (code *)0x0) {
              *(undefined4 *)(puVar20 + -4) = 0;
              *(int **)(puVar20 + -8) = piVar9 + 0xc;
              *(int **)(puVar20 + -0xc) = piVar9;
              *(int *)(puVar20 + -0x10) = piVar16[0x15];
              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;
              (*pcVar2)();
            }
            uVar3 = piVar16[0x3e];
            if ((uVar3 & 4) == 0) {
              iVar12 = piVar16[0x24];
              piVar9[0x16] = piVar16[0x23];
              piVar9[0x17] = iVar12;
            }
            else {
              *(int **)(puVar20 + -0x10) = piVar9;
              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;
              *(int *)(puVar20 + -0x18) = piVar16[0x21];
              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;
              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;
              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;
              iVar12 = FUN_00023b50();
              if (iVar12 == 0) {
                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;
                piVar8 = __errno_location();
                piVar8 = (int *)*piVar8;
                *(int **)(puVar20 + -0x10) = piVar8;
                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;
                pcVar14 = strerror(*(int *)(puVar20 + -0x10));
                *(char **)(puVar20 + -8) = pcVar14;
                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;
                *(int **)(puVar20 + -0x10) = piVar16;
                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;
                FUN_000215b0();
                goto LAB_0001b19b;
              }
              uVar3 = piVar16[0x3e];
            }
            if ((uVar3 & 0x200) == 0) {
              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&
                 (iVar12 = piVar16[0x37], iVar12 != -1)) {
                *(undefined4 *)(puVar20 + -8) = 8;
                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;
                *(int *)(puVar20 + -0x10) = iVar12;
                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;
                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),
                               *(size_t *)(puVar20 + -8));
                if (sVar11 < 1) {
                  *(undefined4 *)(puVar20 + -4) = 0x1b433;
                  piVar13 = __errno_location();
                  if (*piVar13 != 0xb) {
                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;
                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;
                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;
                    *(int **)(puVar20 + -0x10) = piVar16;
                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;
                    FUN_000215b0();
                  }
                }
              }
              uVar23 = 1;
              goto LAB_0001ab43;
            }
            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {
              iVar4 = piVar16[8];
              iVar12 = piVar16[9];
              piVar9[1] = 0;
              piVar9[0x2c] = piVar9[0x2c] | 7;
              *piVar9 = iVar4;
              if (iVar12 == 0) {
                piVar16[9] = (int)piVar9;
              }
              else {
                *(int **)(iVar4 + 4) = piVar9;
              }
              piVar16[8] = (int)piVar9;
              uVar23 = 1;
              goto LAB_0001ab43;
            }
            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;
            *(int **)(puVar20 + 0x24) = piVar9;
            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;
            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);
            *(undefined4 *)(puVar20 + -0xc) = 1;
            *(int *)(puVar20 + -0x10) = piVar16[0x33];
            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;
            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),
                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));
            if (iVar12 == 0) {
              piVar9[0x2c] = piVar9[0x2c] | 8;
              uVar23 = 1;
              goto LAB_0001ab43;
            }
            *(undefined4 *)(puVar20 + -4) = 0x1b487;
            piVar8 = __errno_location();
            piVar8 = (int *)*piVar8;
            *(int **)(puVar20 + -0x10) = piVar8;
            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;
            pcVar14 = strerror(*(int *)(puVar20 + -0x10));
            *(char **)(puVar20 + -8) = pcVar14;
            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;
            *(int **)(puVar20 + -0x10) = piVar16;
            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;
            FUN_000215b0();
LAB_0001b19b:
            pcVar2 = (code *)piVar16[0x14];
            if (pcVar2 != (code *)0x0) {
              *(undefined4 *)(puVar20 + -4) = 1;
              *(int **)(puVar20 + -8) = piVar9 + 0xc;
              *(int **)(puVar20 + -0xc) = piVar9;
              *(int *)(puVar20 + -0x10) = piVar16[0x15];
              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;
              (*pcVar2)();
            }
            if (piVar9[0x38] != 0) {
              *(int *)(puVar20 + -0x10) = piVar9[0x38];
              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;
              gnutls_deinit();
            }
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);
            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;
            iVar12 = close(*(int *)(puVar20 + -0x10));
            if (iVar12 != 0) {
              *(undefined4 *)(puVar20 + -4) = 0x1b1df;
              piVar13 = __errno_location();
              if (*piVar13 == 9) goto LAB_0001b500;
            }
            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;
            FUN_0001a860();
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);
            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;
            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));
            if (iVar12 != 0) goto LAB_0001b5de;
            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {
              iVar12 = piVar9[4];
              if (piVar9[5] == 0) {
                piVar16[0xc] = iVar12;
                iVar6 = 0;
              }
              else {
                *(int *)(piVar9[5] + 0x10) = iVar12;
                iVar12 = piVar9[4];
                iVar6 = piVar9[5];
              }
              if (iVar12 == 0) goto LAB_0001b472;
              *(int *)(iVar12 + 0x14) = iVar6;
LAB_0001b239:
              piVar9[4] = 0;
              piVar9[5] = 0;
            }
            iVar12 = piVar9[2];
            if (piVar9[3] == 0) {
              piVar16[2] = iVar12;
              iVar6 = 0;
            }
            else {
              *(int *)(piVar9[3] + 8) = iVar12;
              iVar12 = piVar9[2];
              iVar6 = piVar9[3];
            }
            if (iVar12 == 0) {
              piVar16[3] = iVar6;
            }
            else {
              *(int *)(iVar12 + 0xc) = iVar6;
            }
            piVar9[2] = 0;
            piVar9[3] = 0;
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);
            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;
            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));
            if (iVar12 == 0) {
              *(int *)(puVar20 + -0x10) = piVar9[10];
              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;
              FUN_00021a90();
              *(int *)(puVar20 + -0x10) = piVar9[0x15];
              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;
              free(*(void **)(puVar20 + -0x10));
              *(int **)(puVar20 + -0x10) = piVar9;
              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;
              free(*(void **)(puVar20 + -0x10));
              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;
              piVar13 = __errno_location();
              if (piVar8 == (int *)0x0) {
                *piVar13 = 0x16;
                uVar23 = 0;
              }
              else {
                *piVar13 = (int)piVar8;
                uVar23 = 0;
              }
              goto LAB_0001ab43;
            }
          }
          else {
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);
            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;
            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));
            if (iVar12 == 0) {
              piVar8 = (int *)0x17;
              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;
              *(int **)(puVar20 + -0x10) = piVar16;
              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;
              FUN_000215b0();
              goto LAB_0001b19b;
            }
            *(int *)(puVar20 + -4) = iVar4 + 0xf639;
            *(undefined4 *)(puVar20 + -8) = 0x9ea;
            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
            puVar21 = puVar20 + -0x10;
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
            pcVar2 = *(code **)(iVar4 + 0x1a681);
            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;
            (*pcVar2)();
LAB_0001b500:
            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;
            *(undefined4 *)(puVar21 + -8) = 0xa56;
            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;
            puVar20 = puVar21 + -0x10;
            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
            pcVar2 = *(code **)(iVar4 + 0x1a681);
            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;
            (*pcVar2)();
          }
          *(int *)(puVar20 + -4) = iVar4 + 0xf639;
          *(undefined4 *)(puVar20 + -8) = 0xa67;
          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
          puVar21 = puVar20 + -0x10;
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
          pcVar2 = *(code **)(iVar4 + 0x1a681);
          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;
          (*pcVar2)();
          goto LAB_0001b53e;
        }
        piVar9[0x3b] = 1;
        *(int **)(puVar20 + -0x10) = piVar9;
        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;
        FUN_000296b0();
        *(undefined4 *)(puVar20 + -0xc) = 0x49;
        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;
        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;
        gnutls_init();
        *(int *)(puVar20 + -0xc) = piVar16[0x43];
        *(int *)(puVar20 + -0x10) = piVar9[0x38];
        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;
        gnutls_priority_set();
        piVar8 = *(int **)(puVar20 + -0xc);
        *(int **)(puVar20 + -0xc) = piVar9;
        *(int *)(puVar20 + -0x10) = piVar9[0x38];
        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;
        gnutls_session_set_ptr();
        iVar12 = piVar16[0x44];
        if (iVar12 == 1) {
          *(int *)(puVar20 + -8) = piVar16[0x45];
          *(undefined4 *)(puVar20 + -0xc) = 1;
          *(int *)(puVar20 + -0x10) = piVar9[0x38];
          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;
          gnutls_credentials_set();
LAB_0001b38a:
          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);
          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);
          *(int *)(puVar20 + -0x10) = piVar9[0x38];
          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;
          gnutls_transport_set_int2();
          if (piVar16[0x4e] != 0) {
            *(undefined4 *)(puVar20 + -0xc) = 1;
            *(int *)(puVar20 + -0x10) = piVar9[0x38];
            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;
            gnutls_certificate_server_set_request();
          }
          goto LAB_0001ac50;
        }
        if (iVar12 == 4) {
          *(int *)(puVar20 + -8) = piVar16[0x47];
          *(undefined4 *)(puVar20 + -0xc) = 4;
          *(int *)(puVar20 + -0x10) = piVar9[0x38];
          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;
          gnutls_credentials_set();
          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;
          *(int *)(puVar20 + -0x10) = piVar16[0x47];
          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;
          gnutls_psk_set_server_credentials_function();
          goto LAB_0001b38a;
        }
        *(int *)(puVar20 + -8) = iVar12;
        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;
        *(int *)(puVar20 + -0x10) = piVar9[6];
        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;
        FUN_000215b0();
        piVar8 = *(int **)(puVar20 + -0x10);
        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);
        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;
        iVar12 = close(*(int *)(puVar20 + -0x10));
        if (iVar12 != 0) {
          *(undefined4 *)(puVar20 + -4) = 0x1b011;
          piVar13 = __errno_location();
          if (*piVar13 != 9) goto LAB_0001b01a;
          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;
          *(undefined4 *)(puVar20 + -8) = 0x9c3;
          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
          pcVar2 = *(code **)(iVar4 + 0x1a681);
          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;
          (*pcVar2)();
          iVar6 = extraout_EDX_01;
LAB_0001b472:
          piVar16[0xd] = iVar6;
          puVar20 = puVar21;
          goto LAB_0001b239;
        }
LAB_0001b01a:
        *(undefined4 *)(puVar20 + -4) = 0x1b029;
        FUN_0001a860();
        *(int *)(puVar20 + -0x10) = piVar9[0x15];
        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;
        free(*(void **)(puVar20 + -0x10));
        *(int **)(puVar20 + -0x10) = piVar9;
        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;
        free(*(void **)(puVar20 + -0x10));
        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;
        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;
        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;
        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);
        pcVar2 = *(code **)(iVar4 + 0x1a681);
        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;
        piVar13 = (int *)(*pcVar2)();
        puVar20 = puVar20 + -0x20;
LAB_0001b05b:
        *piVar13 = 2;
        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);
        piVar13 = piVar9;
LAB_0001b06b:
        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;
        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;
        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;
        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));
        piVar9 = piVar13;
        if (iVar12 != 0) goto LAB_0001b5ba;
        *(int *)(puVar20 + -8) = iVar4 + -0xceb;
        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;
        *(int **)(puVar20 + -0x10) = piVar13;
        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;
        puVar5 = (undefined4 *)
                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),
                         *(__compar_fn_t *)(puVar20 + -8));
        puVar21 = puVar20;
        if (puVar5 == (undefined4 *)0x0) {
          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;
          *(int **)(puVar20 + -0x10) = piVar8;
          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;
          FUN_000215b0();
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);
          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;
          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));
          if (iVar12 == 0) {
            *(int **)(puVar20 + -0x10) = piVar13;
            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;
            free(*(void **)(puVar20 + -0x10));
            goto LAB_0001ab0a;
          }
          break;
        }
        piVar7 = (int *)*puVar5;
        if (piVar13 != piVar7) {
          *(int **)(puVar20 + 0x1c) = piVar7;
          *(int **)(puVar20 + -0x10) = piVar13;
          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;
          free(*(void **)(puVar20 + -0x10));
          piVar7 = *(int **)(puVar20 + 0x1c);
        }
        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;
        piVar7[5] = piVar7[5] + 1;
        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);
        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;
        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));
      } while (iVar12 == 0);
      do {
        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;
        FUN_0001a660();
LAB_0001b0f0:
        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);
        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;
        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));
      } while (iVar12 != 0);
    }
LAB_0001ab0a:
    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;
    *(int **)(puVar21 + -0x10) = piVar16;
    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;
    FUN_000215b0();
    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);
    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;
    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));
    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;
    piVar7 = __errno_location();
    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;
LAB_0001b53e:
    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;
    *(undefined4 *)(puVar21 + -8) = 0x93d;
    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;
    puVar20 = puVar21 + -0x10;
    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
    pcVar2 = *(code **)(iVar4 + 0x1a681);
    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;
    (*pcVar2)();
    piVar13 = piVar9;
LAB_0001b55d:
    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;
    *(undefined4 *)(puVar20 + -8) = 0x950;
    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
    pcVar2 = *(code **)(iVar4 + 0x1a681);
    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;
    (*pcVar2)();
    puVar20 = puVar20 + -0x10;
LAB_0001b57c:
    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;
    *(undefined4 *)(puVar20 + -8) = 0x962;
    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
    pcVar2 = *(code **)(iVar4 + 0x1a681);
    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;
    (*pcVar2)();
    puVar21 = puVar20 + -0x10;
  }
  else {
    *(undefined4 *)(puVar20 + -4) = 0x400;
    piVar8 = *(int **)(puVar20 + 8);
    *(int **)(puVar20 + -8) = piVar8;
    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;
    *(int **)(puVar20 + -0x10) = piVar16;
    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;
    FUN_000215b0();
    *(int **)(puVar20 + -0x10) = piVar8;
    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;
    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));
    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;
    piVar7 = __errno_location();
    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {
      *piVar7 = 0x16;
      uVar23 = 0;
      goto LAB_0001ab43;
    }
  }
  *(int *)(puVar21 + -4) = iVar4 + 0x1066d;
  *(undefined4 *)(puVar21 + -8) = 0x912;
  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;
  puVar20 = puVar21 + -0x10;
  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
  pcVar2 = *(code **)(iVar4 + 0x1a681);
  *(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;
  (*pcVar2)();
  piVar9 = piVar13;
LAB_0001b5ba:
  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;
  FUN_0001a630();
  puVar21 = puVar20;
LAB_0001b5bf:
  *(int *)(puVar21 + -4) = iVar4 + 0xf615;
  *(undefined4 *)(puVar21 + -8) = 0x9e4;
  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;
  puVar20 = puVar21 + -0x10;
  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
  pcVar2 = *(code **)(iVar4 + 0x1a681);
  *(undefined4 *)(puVar21 + -0x14) = 0x1b5de;
  (*pcVar2)();
LAB_0001b5de:
  *(int *)(puVar20 + -4) = iVar4 + 0xf615;
  *(undefined4 *)(puVar20 + -8) = 0xa5b;
  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
  pcVar2 = *(code **)(iVar4 + 0x1a681);
  *(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;
  (*pcVar2)();
  puVar20 = puVar20 + -0x10;
LAB_0001b5fd:
  *(int *)(puVar20 + -4) = iVar4 + 0xf639;
  *(undefined4 *)(puVar20 + -8) = 0xa01;
  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
  pcVar2 = *(code **)(iVar4 + 0x1a681);
  *(undefined4 *)(puVar20 + -0x14) = 0x1b61c;
  (*pcVar2)();
  puVar20 = puVar20 + -0x10;
LAB_0001b61c:
  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;
  *(undefined4 *)(puVar20 + -8) = 0x985;
  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
  pcVar2 = *(code **)(iVar4 + 0x1a681);
  *(undefined4 *)(puVar20 + -0x14) = 0x1b63b;
  (*pcVar2)();
  puVar20 = puVar20 + -0x10;
LAB_0001b63b:
  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;
  *(undefined4 *)(puVar20 + -8) = 0x971;
  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
  pcVar2 = *(code **)(iVar4 + 0x1a681);
  *(undefined4 *)(puVar20 + -0x14) = 0x1b65a;
  iVar12 = (*pcVar2)();
  *(int **)(puVar20 + -0x14) = piVar9;
  *(int **)(puVar20 + -0x18) = piVar8;
  *(int **)(puVar20 + -0x1c) = piVar16;
  *(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;
  *(undefined4 *)(puVar20 + -0x24) = 0x1b66d;
  iVar4 = *(int *)(puVar20 + -0x24);
  *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);
  uVar3 = 0;
  *(undefined4 *)(puVar20 + -0x50) = 0x1c;
  do {
    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;
    uVar3 = uVar3 + 4;
  } while (uVar3 < 0x1c);
  iVar6 = *(int *)(iVar12 + 0xc4);
  puVar21 = puVar20 + -0x6c;
  if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))
  goto LAB_0001b7c0;
  *(undefined4 *)(puVar20 + -0x70) = 0x80800;
  *(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;
  *(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;
  *(int *)(puVar20 + -0x7c) = iVar6;
  *(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;
  iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),
                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));
  puVar22 = puVar20 + -0x6c;
  if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {
    *(undefined4 *)(puVar20 + -0x74) = 1;
    *(undefined4 *)(puVar20 + -0x78) = 0;
    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);
    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;
    FUN_0001a9e0();
    puVar21 = puVar20 + -0x6c;
    uVar23 = 1;
    goto LAB_0001b7c2;
  }
  *(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;
  piVar13 = __errno_location();
  iVar17 = *piVar13;
  puVar21 = puVar20 + -0x6c;
  if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {
    *(int **)(puVar20 + -0x60) = piVar13;
    if (iVar17 == 0xb) {
      puVar21 = puVar20 + -0x6c;
      if (iVar6 != -1) {
        *(int *)(puVar20 + -0x7c) = iVar6;
        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;
        iVar15 = close(*(int *)(puVar20 + -0x7c));
        piVar13 = *(int **)(puVar20 + -0x60);
        puVar21 = puVar20 + -0x6c;
        puVar20 = puVar20 + -0x6c;
        if (iVar15 != 0) goto LAB_0001b819;
      }
    }
    else {
      *(int *)(puVar20 + -0x7c) = iVar17;
      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;
      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));
      *(char **)(puVar20 + -0x74) = pcVar14;
      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;
      *(int *)(puVar20 + -0x7c) = iVar12;
      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;
      FUN_000215b0();
      puVar21 = puVar20 + -0x6c;
      if (iVar6 != -1) {
        while( true ) {
          *(int *)(puVar22 + -0x10) = iVar6;
          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;
          iVar15 = close(*(int *)(puVar22 + -0x10));
          piVar13 = *(int **)(puVar22 + 0xc);
          puVar20 = puVar22;
          puVar21 = puVar22;
          if (iVar15 == 0) break;
LAB_0001b819:
          puVar21 = puVar20;
          if (*piVar13 != 9) break;
          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;
          *(undefined4 *)(puVar20 + -8) = 0xc1a;
          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;
          puVar22 = puVar20 + -0x10;
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);
          pcVar2 = *(code **)(iVar4 + 0x199ff);
          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;
          (*pcVar2)();
        }
      }
      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {
        if (*(int *)(iVar12 + 0xe8) != 0) {
          iVar17 = iVar12 + 0xac;
          *(int *)(puVar21 + -0x10) = iVar17;
          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;
          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));
          if (iVar15 == 0) {
            *(undefined1 *)(iVar12 + 0xe2) = 1;
            *(int *)(puVar21 + -0x10) = iVar17;
            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;
            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));
            puVar20 = puVar21;
            if (iVar15 == 0) {
              *(undefined4 *)(puVar21 + 0xc) = 0;
              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);
              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;
              *(int *)(puVar21 + -0x10) = iVar12;
              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;
              FUN_000215b0();
              uVar23 = *(undefined4 *)(puVar21 + 0xc);
              goto LAB_0001b7c2;
            }
          }
          else {
            *(int *)(puVar21 + -4) = iVar4 + 0xe993;
            *(undefined4 *)(puVar21 + -8) = 0xc2c;
            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;
            puVar20 = puVar21 + -0x10;
            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);
            pcVar2 = *(code **)(iVar4 + 0x199ff);
            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;
            (*pcVar2)();
          }
          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;
          *(undefined4 *)(puVar20 + -8) = 0xc30;
          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);
          pcVar2 = *(code **)(iVar4 + 0x199ff);
          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;
          uVar24 = (*pcVar2)();
          iVar15 = (int)uVar24;
          *(int *)(puVar20 + -0x14) = iVar6;
          *(int *)(puVar20 + -0x18) = iVar17;
          *(int *)(puVar20 + -0x1c) = iVar12;
          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;
          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;
          iVar12 = *(int *)(puVar20 + -0x24);
          iVar4 = *(int *)(iVar15 + 0xc4);
          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);
          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);
          *(undefined4 *)(puVar20 + -0x40) = 0;
          *(undefined4 *)(puVar20 + -0x3c) = 0;
          *(undefined4 *)(puVar20 + -0x38) = 0;
          *(undefined4 *)(puVar20 + -0x34) = 0;
          if (iVar4 == -1) {
            iVar17 = 1;
            *(undefined4 *)(puVar20 + -0x58) = 0;
            iVar4 = 0;
            iVar6 = -1;
          }
          else if (*(char *)(iVar15 + 0xe1) == '\0') {
            *(int *)(puVar20 + -0x40) = iVar4;
            iVar6 = 0;
            iVar17 = 2;
            *(undefined2 *)(puVar20 + -0x3c) = 1;
            iVar4 = 1;
            *(undefined4 *)(puVar20 + -0x58) = 1;
          }
          else {
            *(undefined4 *)(puVar20 + -0x58) = 0;
            iVar17 = 1;
            iVar6 = -1;
            iVar4 = 0;
          }
          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;
          if (*(int *)(iVar15 + 0xdc) == -1) {
            iVar17 = -1;
            if (uVar3 != 0) {
              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;
              goto LAB_0001ba92;
            }
LAB_0001ba1c:
            if (iVar4 != 0) {
              *(undefined4 *)(puVar20 + -0x60) = 0x10;
              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);
              *(int *)(puVar20 + -0x68) = iVar4;
              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;
              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;
              iVar4 = __poll_chk();
              if (-1 < iVar4) {
                if (iVar17 != -1) {
                  *(int *)(puVar20 + -0x58) = iVar17;
                  goto LAB_0001b975;
                }
                goto LAB_0001b984;
              }
LAB_0001ba50:
              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;
              piVar13 = __errno_location();
              if (*piVar13 != 4) {
                *(int *)(puVar20 + -0x6c) = *piVar13;
                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;
                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));
                *(char **)(puVar20 + -100) = pcVar14;
                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;
                *(int *)(puVar20 + -0x6c) = iVar15;
                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;
                FUN_000215b0();
                uVar23 = 0;
                goto LAB_0001b9ad;
              }
            }
          }
          else {
            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);
            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;
            iVar4 = iVar17;
            if (uVar3 != 0) {
LAB_0001ba92:
              *(int *)(puVar20 + -0x50) = iVar4;
              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;
              FUN_000190f0();
              iVar4 = *(int *)(puVar20 + -0x50);
              iVar17 = *(int *)(puVar20 + -0x58);
              goto LAB_0001ba1c;
            }
            *(undefined4 *)(puVar20 + -0x60) = 0x10;
            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);
            *(int *)(puVar20 + -0x68) = iVar17;
            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;
            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;
            iVar4 = __poll_chk();
            if (iVar4 < 0) goto LAB_0001ba50;
LAB_0001b975:
            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {
              *(undefined4 *)(puVar20 + -100) = 8;
              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;
              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);
              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;
              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)
                  );
            }
LAB_0001b984:
            uVar23 = 0;
            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;
            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {
              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;
              FUN_0001b660();
            }
          }
          uVar23 = 1;
LAB_0001b9ad:
          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;
            FUN_000299b0();
          }
          return uVar23;
        }
        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;
        *(int *)(puVar21 + -0x10) = iVar12;
        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;
        FUN_000215b0();
      }
    }
  }
LAB_0001b7c0:
  uVar23 = 0;
LAB_0001b7c2:
  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar21 + -4) = 0x1b867;
    FUN_000299b0();
  }
  return uVar23;
}


PUSH EBP
PUSH EDI
PUSH ESI
MOV ESI,EAX
PUSH EBX
CALL 0x00013810
ADD EBX,0x1a575
SUB ESP,0x3c
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x2c],EAX
XOR EAX,EAX
JMP 0x0001a88a
MOV ESI,EAX
MOV EAX,dword ptr [ESI + 0x70]
TEST EAX,EAX
JNZ 0x0001a888
MOV EDI,dword ptr [ESI + 0xf4]
TEST EDI,EDI
JNZ 0x0001a8b8
MOV EAX,dword ptr [ESP + 0x2c]
XOR EAX,dword ptr GS:[0x14]
JNZ 0x0001a990
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EBP,[ESP + 0x14]
XOR EDI,EDI
MOV dword ptr [EBP + EAX*0x1],EDI
ADD EAX,0x4
CMP EAX,0x18
JC 0x0001a8be
CMP ECX,0x10
JZ 0x0001a8fd
CMP ECX,0x1c
JNZ 0x0001a89b
LEA EAX,[EDX + 0x8]
MOV EDX,dword ptr [EDX + 0x8]
MOV dword ptr [ESP + 0x14],0xa
MOV dword ptr [ESP + 0x18],EDX
MOV EDX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x1c],EDX
MOV EDX,dword ptr [EAX + 0x8]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0x20],EDX
MOV dword ptr [ESP + 0x24],EAX
JMP 0x0001a90c
MOV EAX,dword ptr [EDX + 0x4]
MOV dword ptr [ESP + 0x14],0x2
MOV dword ptr [ESP + 0x18],EAX
SUB ESP,0xc
LEA EDI,[ESI + 0x94]
PUSH EDI
CALL 0x00013250
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001a9d3
SUB ESP,0x4
LEA EDX,[EBX + 0xfffe4f20]
ADD ESI,0x78
PUSH EDX
MOV dword ptr [ESP + 0x14],EDX
PUSH ESI
PUSH EBP
CALL 0x000135d0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JZ 0x0001a9b4
MOV EBP,dword ptr [EAX]
MOV EAX,dword ptr [EBP + 0x14]
TEST EAX,EAX
JZ 0x0001a995
SUB EAX,0x1
MOV dword ptr [EBP + 0x14],EAX
JZ 0x0001a978
SUB ESP,0xc
PUSH EDI
CALL 0x00013060
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001a89b
CALL 0x0001a660
LEA ESI,[ESI]
NOP
SUB ESP,0x4
PUSH EDX
PUSH ESI
PUSH EBP
CALL 0x00013340
MOV dword ptr [ESP],EBP
CALL 0x000137d0
ADD ESP,0x10
JMP 0x0001a95a
CALL 0x000299b0
LEA EAX,[EBX + 0xffff6b4c]
PUSH EAX
LEA EAX,[EBX + 0xffff6264]
PUSH 0x1e2
PUSH EAX
PUSH dword ptr [EBX + 0x288]
CALL dword ptr [EBX + 0x28c]
LEA EAX,[EBX + 0xffff6b20]
PUSH EAX
LEA EAX,[EBX + 0xffff6264]
PUSH 0x1dc
PUSH EAX
PUSH dword ptr [EBX + 0x288]
CALL dword ptr [EBX + 0x28c]
CALL 0x0001a630
LEA ESI,[ESI]
NOP
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 __regparm3 FUN_0001a860(void **param_1,int param_2,int param_3)\n\n{\n  pthread_mutex_t *__mutex;\n  uint uVar1;\n  code *pcVar2;\n  uint uVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  void *pvVar10;\n  ssize_t sVar11;\n  int iVar12;\n  int *piVar13;\n  char *pcVar14;\n  int iVar15;\n  undefined4 extraout_ECX;\n  int *piVar16;\n  int iVar17;\n  __compar_fn_t extraout_EDX;\n  __compar_fn_t __compar;\n  undefined4 extraout_EDX_00;\n  int extraout_EDX_01;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  void **__rootp;\n  undefined4 uVar23;\n  int in_GS_OFFSET;\n  undefined8 uVar24;\n  byte abStackY_29e [450];\n  size_t asStackY_dc [7];\n  uint auStackY_c0 [6];\n  byte abStackY_a8 [4];\n  int aiStackY_a4 [18];\n  undefined1 auStack_4c [12];\n  __compar_fn_t local_40;\n  int local_38 [4];\n  undefined4 local_28;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1a86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  do {\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  } while ((void **)__rootp[0x1c] != (void **)0x0);\n  if (__rootp[0x3d] == (void *)0x0) {\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000299b0();\n    }\n    return 0;\n  }\n  piVar13 = local_38;\n  uVar3 = 0;\n  do {\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x18);\n  if (param_3 == 0x10) {\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }\n  else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }\n  __mutex = (pthread_mutex_t *)(__rootp + 0x25);\n  iVar4 = pthread_mutex_lock(__mutex);\n  puVar19 = auStack_4c;\n  if (iVar4 == 0) {\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }\n  *(undefined4 *)(puVar19 + -4) = 0x1a9d8;\n  uVar24 = FUN_0001a630();\n  uVar3 = (uint)((ulonglong)uVar24 >> 0x20);\n  piVar16 = (int *)uVar24;\n  *(int **)(puVar19 + -4) = piVar13;\n  *(pthread_mutex_t **)(puVar19 + -8) = __mutex;\n  *(void ***)(puVar19 + -0xc) = __rootp;\n  *(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;\n  iVar4 = *(int *)(puVar19 + -0x14);\n  *(undefined4 *)(puVar19 + -0x40) = extraout_ECX;\n  *(uint *)(puVar19 + -0x44) = uVar3;\n  *(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);\n  *(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);\n  *(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar20 = puVar19 + -0x4c;\n  if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }\nLAB_0001aae0:\n  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }\n  *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar21 + -8) = 0x912;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;\n  (*pcVar2)();\n  piVar9 = piVar13;\nLAB_0001b5ba:\n  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;\n  FUN_0001a630();\n  puVar21 = puVar20;\nLAB_0001b5bf:\n  *(int *)(puVar21 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar21 + -8) = 0x9e4;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5de;\n  (*pcVar2)();\nLAB_0001b5de:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar20 + -8) = 0xa5b;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b5fd:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n  *(undefined4 *)(puVar20 + -8) = 0xa01;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b61c;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b61c:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x985;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b63b;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b63b:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x971;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b65a;\n  iVar12 = (*pcVar2)();\n  *(int **)(puVar20 + -0x14) = piVar9;\n  *(int **)(puVar20 + -0x18) = piVar8;\n  *(int **)(puVar20 + -0x1c) = piVar16;\n  *(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;\n  *(undefined4 *)(puVar20 + -0x24) = 0x1b66d;\n  iVar4 = *(int *)(puVar20 + -0x24);\n  *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  uVar3 = 0;\n  *(undefined4 *)(puVar20 + -0x50) = 0x1c;\n  do {\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x1c);\n  iVar6 = *(int *)(iVar12 + 0xc4);\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))\n  goto LAB_0001b7c0;\n  *(undefined4 *)(puVar20 + -0x70) = 0x80800;\n  *(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;\n  *(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;\n  *(int *)(puVar20 + -0x7c) = iVar6;\n  *(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;\n  iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));\n  puVar22 = puVar20 + -0x6c;\n  if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }\n  *(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;\n  piVar13 = __errno_location();\n  iVar17 = *piVar13;\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001b7c0:\n  uVar23 = 0;\nLAB_0001b7c2:\n  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }\n  return uVar23;\n}\n\n" comment (function_definition "undefined4 __regparm3 FUN_0001a860(void **param_1,int param_2,int param_3)\n\n{\n  pthread_mutex_t *__mutex;\n  uint uVar1;\n  code *pcVar2;\n  uint uVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  void *pvVar10;\n  ssize_t sVar11;\n  int iVar12;\n  int *piVar13;\n  char *pcVar14;\n  int iVar15;\n  undefined4 extraout_ECX;\n  int *piVar16;\n  int iVar17;\n  __compar_fn_t extraout_EDX;\n  __compar_fn_t __compar;\n  undefined4 extraout_EDX_00;\n  int extraout_EDX_01;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  void **__rootp;\n  undefined4 uVar23;\n  int in_GS_OFFSET;\n  undefined8 uVar24;\n  byte abStackY_29e [450];\n  size_t asStackY_dc [7];\n  uint auStackY_c0 [6];\n  byte abStackY_a8 [4];\n  int aiStackY_a4 [18];\n  undefined1 auStack_4c [12];\n  __compar_fn_t local_40;\n  int local_38 [4];\n  undefined4 local_28;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1a86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  do {\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  } while ((void **)__rootp[0x1c] != (void **)0x0);\n  if (__rootp[0x3d] == (void *)0x0) {\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000299b0();\n    }\n    return 0;\n  }\n  piVar13 = local_38;\n  uVar3 = 0;\n  do {\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x18);\n  if (param_3 == 0x10) {\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }\n  else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }\n  __mutex = (pthread_mutex_t *)(__rootp + 0x25);\n  iVar4 = pthread_mutex_lock(__mutex);\n  puVar19 = auStack_4c;\n  if (iVar4 == 0) {\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }\n  *(undefined4 *)(puVar19 + -4) = 0x1a9d8;\n  uVar24 = FUN_0001a630();\n  uVar3 = (uint)((ulonglong)uVar24 >> 0x20);\n  piVar16 = (int *)uVar24;\n  *(int **)(puVar19 + -4) = piVar13;\n  *(pthread_mutex_t **)(puVar19 + -8) = __mutex;\n  *(void ***)(puVar19 + -0xc) = __rootp;\n  *(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;\n  iVar4 = *(int *)(puVar19 + -0x14);\n  *(undefined4 *)(puVar19 + -0x40) = extraout_ECX;\n  *(uint *)(puVar19 + -0x44) = uVar3;\n  *(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);\n  *(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);\n  *(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar20 = puVar19 + -0x4c;\n  if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }\nLAB_0001aae0:\n  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }\n  *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar21 + -8) = 0x912;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;\n  (*pcVar2)();\n  piVar9 = piVar13;\nLAB_0001b5ba:\n  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;\n  FUN_0001a630();\n  puVar21 = puVar20;\nLAB_0001b5bf:\n  *(int *)(puVar21 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar21 + -8) = 0x9e4;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5de;\n  (*pcVar2)();\nLAB_0001b5de:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar20 + -8) = 0xa5b;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b5fd:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n  *(undefined4 *)(puVar20 + -8) = 0xa01;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b61c;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b61c:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x985;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b63b;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b63b:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x971;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b65a;\n  iVar12 = (*pcVar2)();\n  *(int **)(puVar20 + -0x14) = piVar9;\n  *(int **)(puVar20 + -0x18) = piVar8;\n  *(int **)(puVar20 + -0x1c) = piVar16;\n  *(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;\n  *(undefined4 *)(puVar20 + -0x24) = 0x1b66d;\n  iVar4 = *(int *)(puVar20 + -0x24);\n  *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  uVar3 = 0;\n  *(undefined4 *)(puVar20 + -0x50) = 0x1c;\n  do {\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x1c);\n  iVar6 = *(int *)(iVar12 + 0xc4);\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))\n  goto LAB_0001b7c0;\n  *(undefined4 *)(puVar20 + -0x70) = 0x80800;\n  *(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;\n  *(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;\n  *(int *)(puVar20 + -0x7c) = iVar6;\n  *(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;\n  iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));\n  puVar22 = puVar20 + -0x6c;\n  if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }\n  *(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;\n  piVar13 = __errno_location();\n  iVar17 = *piVar13;\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001b7c0:\n  uVar23 = 0;\nLAB_0001b7c2:\n  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }\n  return uVar23;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_0001a860(void **param_1,int param_2,int param_3)" identifier (parameter_list "(void **param_1,int param_2,int param_3)" ( (parameter_declaration "void **param_1" primitive_type (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  pthread_mutex_t *__mutex;\n  uint uVar1;\n  code *pcVar2;\n  uint uVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  void *pvVar10;\n  ssize_t sVar11;\n  int iVar12;\n  int *piVar13;\n  char *pcVar14;\n  int iVar15;\n  undefined4 extraout_ECX;\n  int *piVar16;\n  int iVar17;\n  __compar_fn_t extraout_EDX;\n  __compar_fn_t __compar;\n  undefined4 extraout_EDX_00;\n  int extraout_EDX_01;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  void **__rootp;\n  undefined4 uVar23;\n  int in_GS_OFFSET;\n  undefined8 uVar24;\n  byte abStackY_29e [450];\n  size_t asStackY_dc [7];\n  uint auStackY_c0 [6];\n  byte abStackY_a8 [4];\n  int aiStackY_a4 [18];\n  undefined1 auStack_4c [12];\n  __compar_fn_t local_40;\n  int local_38 [4];\n  undefined4 local_28;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1a86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  do {\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  } while ((void **)__rootp[0x1c] != (void **)0x0);\n  if (__rootp[0x3d] == (void *)0x0) {\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000299b0();\n    }\n    return 0;\n  }\n  piVar13 = local_38;\n  uVar3 = 0;\n  do {\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x18);\n  if (param_3 == 0x10) {\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }\n  else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }\n  __mutex = (pthread_mutex_t *)(__rootp + 0x25);\n  iVar4 = pthread_mutex_lock(__mutex);\n  puVar19 = auStack_4c;\n  if (iVar4 == 0) {\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }\n  *(undefined4 *)(puVar19 + -4) = 0x1a9d8;\n  uVar24 = FUN_0001a630();\n  uVar3 = (uint)((ulonglong)uVar24 >> 0x20);\n  piVar16 = (int *)uVar24;\n  *(int **)(puVar19 + -4) = piVar13;\n  *(pthread_mutex_t **)(puVar19 + -8) = __mutex;\n  *(void ***)(puVar19 + -0xc) = __rootp;\n  *(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;\n  iVar4 = *(int *)(puVar19 + -0x14);\n  *(undefined4 *)(puVar19 + -0x40) = extraout_ECX;\n  *(uint *)(puVar19 + -0x44) = uVar3;\n  *(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);\n  *(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);\n  *(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar20 = puVar19 + -0x4c;\n  if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }\nLAB_0001aae0:\n  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }\n  *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar21 + -8) = 0x912;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;\n  (*pcVar2)();\n  piVar9 = piVar13;\nLAB_0001b5ba:\n  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;\n  FUN_0001a630();\n  puVar21 = puVar20;\nLAB_0001b5bf:\n  *(int *)(puVar21 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar21 + -8) = 0x9e4;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5de;\n  (*pcVar2)();\nLAB_0001b5de:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar20 + -8) = 0xa5b;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b5fd:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n  *(undefined4 *)(puVar20 + -8) = 0xa01;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b61c;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b61c:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x985;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b63b;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b63b:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x971;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b65a;\n  iVar12 = (*pcVar2)();\n  *(int **)(puVar20 + -0x14) = piVar9;\n  *(int **)(puVar20 + -0x18) = piVar8;\n  *(int **)(puVar20 + -0x1c) = piVar16;\n  *(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;\n  *(undefined4 *)(puVar20 + -0x24) = 0x1b66d;\n  iVar4 = *(int *)(puVar20 + -0x24);\n  *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  uVar3 = 0;\n  *(undefined4 *)(puVar20 + -0x50) = 0x1c;\n  do {\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x1c);\n  iVar6 = *(int *)(iVar12 + 0xc4);\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))\n  goto LAB_0001b7c0;\n  *(undefined4 *)(puVar20 + -0x70) = 0x80800;\n  *(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;\n  *(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;\n  *(int *)(puVar20 + -0x7c) = iVar6;\n  *(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;\n  iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));\n  puVar22 = puVar20 + -0x6c;\n  if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }\n  *(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;\n  piVar13 = __errno_location();\n  iVar17 = *piVar13;\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001b7c0:\n  uVar23 = 0;\nLAB_0001b7c2:\n  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }\n  return uVar23;\n}" { (declaration "pthread_mutex_t *__mutex;" type_identifier (pointer_declarator "*__mutex" * identifier) ;) (declaration "uint uVar1;" type_identifier identifier ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "void *pvVar10;" primitive_type (pointer_declarator "*pvVar10" * identifier) ;) (declaration "ssize_t sVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "__compar_fn_t extraout_EDX;" type_identifier identifier ;) (declaration "__compar_fn_t __compar;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_00;" type_identifier identifier ;) (declaration "int extraout_EDX_01;" primitive_type identifier ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "void **__rootp;" primitive_type (pointer_declarator "**__rootp" * (pointer_declarator "*__rootp" * identifier)) ;) (declaration "undefined4 uVar23;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "byte abStackY_29e [450];" type_identifier (array_declarator "abStackY_29e [450]" identifier [ number_literal ]) ;) (declaration "size_t asStackY_dc [7];" primitive_type (array_declarator "asStackY_dc [7]" identifier [ number_literal ]) ;) (declaration "uint auStackY_c0 [6];" type_identifier (array_declarator "auStackY_c0 [6]" identifier [ number_literal ]) ;) (declaration "byte abStackY_a8 [4];" type_identifier (array_declarator "abStackY_a8 [4]" identifier [ number_literal ]) ;) (declaration "int aiStackY_a4 [18];" primitive_type (array_declarator "aiStackY_a4 [18]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_4c [12];" type_identifier (array_declarator "auStack_4c [12]" identifier [ number_literal ]) ;) (declaration "__compar_fn_t local_40;" type_identifier identifier ;) (declaration "int local_38 [4];" primitive_type (array_declarator "local_38 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1a86b;" (assignment_expression "uStack_14 = 0x1a86b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (do_statement "do {\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  } while ((void **)__rootp[0x1c] != (void **)0x0);" do (compound_statement "{\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  }" { (expression_statement "__rootp = param_1;" (assignment_expression "__rootp = param_1" identifier = identifier) ;) (expression_statement "param_1 = (void **)__rootp[0x1c];" (assignment_expression "param_1 = (void **)__rootp[0x1c]" identifier = (cast_expression "(void **)__rootp[0x1c]" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "__rootp[0x1c]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((void **)__rootp[0x1c] != (void **)0x0)" ( (binary_expression "(void **)__rootp[0x1c] != (void **)0x0" (cast_expression "(void **)__rootp[0x1c]" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "__rootp[0x1c]" identifier [ number_literal ])) != (cast_expression "(void **)0x0" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) ;) (if_statement "if (__rootp[0x3d] == (void *)0x0) {\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000299b0();\n    }\n    return 0;\n  }" if (parenthesized_expression "(__rootp[0x3d] == (void *)0x0)" ( (binary_expression "__rootp[0x3d] == (void *)0x0" (subscript_expression "__rootp[0x3d]" identifier [ number_literal ]) == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000299b0();\n    }\n    return 0;\n  }" { (labeled_statement "LAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000299b0();\n    }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000299b0();\n    }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_000299b0();\n    }" { comment (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar13 = local_38;" (assignment_expression "piVar13 = local_38" identifier = identifier) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x18);" do (compound_statement "{\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)piVar13 + uVar3) = 0;" (assignment_expression "*(undefined4 *)((int)piVar13 + uVar3) = 0" (pointer_expression "*(undefined4 *)((int)piVar13 + uVar3)" * (cast_expression "(undefined4 *)((int)piVar13 + uVar3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar13 + uVar3)" ( (binary_expression "(int)piVar13 + uVar3" (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "uVar3 = uVar3 + 4;" (assignment_expression "uVar3 = uVar3 + 4" identifier = (binary_expression "uVar3 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 < 0x18)" ( (binary_expression "uVar3 < 0x18" identifier < number_literal) )) ;) (if_statement "if (param_3 == 0x10) {\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }\n  else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }" if (parenthesized_expression "(param_3 == 0x10)" ( (binary_expression "param_3 == 0x10" identifier == number_literal) )) (compound_statement "{\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }" { (expression_statement "local_38[1] = *(undefined4 *)(param_2 + 4);" (assignment_expression "local_38[1] = *(undefined4 *)(param_2 + 4)" (subscript_expression "local_38[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_38[0] = 2;" (assignment_expression "local_38[0] = 2" (subscript_expression "local_38[0]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }" else (compound_statement "{\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }" { (if_statement "if (param_3 != 0x1c) goto LAB_0001a89b;" if (parenthesized_expression "(param_3 != 0x1c)" ( (binary_expression "param_3 != 0x1c" identifier != number_literal) )) (goto_statement "goto LAB_0001a89b;" goto statement_identifier ;)) (expression_statement "local_38[1] = *(undefined4 *)(param_2 + 8);" (assignment_expression "local_38[1] = *(undefined4 *)(param_2 + 8)" (subscript_expression "local_38[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(param_2 + 8)" * (cast_expression "(undefined4 *)(param_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_38[0] = 10;" (assignment_expression "local_38[0] = 10" (subscript_expression "local_38[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_38[2] = *(undefined4 *)(param_2 + 0xc);" (assignment_expression "local_38[2] = *(undefined4 *)(param_2 + 0xc)" (subscript_expression "local_38[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_38[3] = *(undefined4 *)(param_2 + 0x10);" (assignment_expression "local_38[3] = *(undefined4 *)(param_2 + 0x10)" (subscript_expression "local_38[3]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_28 = *(undefined4 *)(param_2 + 0x14);" (assignment_expression "local_28 = *(undefined4 *)(param_2 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x14)" * (cast_expression "(undefined4 *)(param_2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) }))) (expression_statement "__mutex = (pthread_mutex_t *)(__rootp + 0x25);" (assignment_expression "__mutex = (pthread_mutex_t *)(__rootp + 0x25)" identifier = (cast_expression "(pthread_mutex_t *)(__rootp + 0x25)" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__rootp + 0x25)" ( (binary_expression "__rootp + 0x25" identifier + number_literal) )))) ;) (expression_statement "iVar4 = pthread_mutex_lock(__mutex);" (assignment_expression "iVar4 = pthread_mutex_lock(__mutex)" identifier = (call_expression "pthread_mutex_lock(__mutex)" identifier (argument_list "(__mutex)" ( identifier )))) ;) (expression_statement "puVar19 = auStack_4c;" (assignment_expression "puVar19 = auStack_4c" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }" { (expression_statement "local_40 = FUN_00019d00;" (assignment_expression "local_40 = FUN_00019d00" identifier = identifier) ;) (expression_statement "__rootp = __rootp + 0x1e;" (assignment_expression "__rootp = __rootp + 0x1e" identifier = (binary_expression "__rootp + 0x1e" identifier + number_literal)) ;) (expression_statement "puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);" (assignment_expression "puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00)" identifier = (cast_expression "(undefined4 *)tfind(piVar13,__rootp,FUN_00019d00)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "tfind(piVar13,__rootp,FUN_00019d00)" identifier (argument_list "(piVar13,__rootp,FUN_00019d00)" ( identifier , identifier , identifier ))))) ;) (expression_statement "puVar18 = auStack_4c;" (assignment_expression "puVar18 = auStack_4c" identifier = identifier) ;) (if_statement "if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }" if (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" ( (binary_expression "puVar5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }" { (expression_statement "piVar13 = (int *)*puVar5;" (assignment_expression "piVar13 = (int *)*puVar5" identifier = (cast_expression "(int *)*puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (if_statement "if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }" if (parenthesized_expression "(piVar13[5] != 0)" ( (binary_expression "piVar13[5] != 0" (subscript_expression "piVar13[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }" { (expression_statement "iVar4 = piVar13[5] + -1;" (assignment_expression "iVar4 = piVar13[5] + -1" identifier = (binary_expression "piVar13[5] + -1" (subscript_expression "piVar13[5]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar13[5] = iVar4;" (assignment_expression "piVar13[5] = iVar4" (subscript_expression "piVar13[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__compar = local_40;" (assignment_expression "__compar = local_40" identifier = identifier) ;) (if_statement "if (iVar4 == 0) goto LAB_0001a978;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001a978;" goto statement_identifier ;)) (while_statement "while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }" while (parenthesized_expression "(iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0)" ( (comma_expression "iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0" (assignment_expression "iVar4 = pthread_mutex_unlock(__mutex)" identifier = (call_expression "pthread_mutex_unlock(__mutex)" identifier (argument_list "(__mutex)" ( identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )) (compound_statement "{\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }" { (expression_statement "FUN_0001a660();" (call_expression "FUN_0001a660()" identifier (argument_list "()" ( ))) ;) (expression_statement "__compar = extraout_EDX;" (assignment_expression "__compar = extraout_EDX" identifier = identifier) ;) (labeled_statement "LAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);" statement_identifier : (expression_statement "tdelete(piVar13,__rootp,__compar);" (call_expression "tdelete(piVar13,__rootp,__compar)" identifier (argument_list "(piVar13,__rootp,__compar)" ( identifier , identifier , identifier ))) ;)) (expression_statement "free(piVar13);" (call_expression "free(piVar13)" identifier (argument_list "(piVar13)" ( identifier ))) ;) })) (goto_statement "goto LAB_0001a89b;" goto statement_identifier ;) })) (expression_statement "puVar18 = &stack0xffffffa4;" (assignment_expression "puVar18 = &stack0xffffffa4" identifier = (pointer_expression "&stack0xffffffa4" & identifier)) ;) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" ( (pointer_expression "*DAT_0003506c" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "*(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";" (assignment_expression "*(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n"" (pointer_expression "*(char **)(puVar18 + -4)" * (cast_expression "(char **)(puVar18 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (string_literal ""Failed to find previously-added IP address\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = 0x1dc;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 0x1dc" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar18 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar19 = puVar18 + -0x10;" (assignment_expression "puVar19 = puVar18 + -0x10" identifier = (binary_expression "puVar18 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = DAT_00035068;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = DAT_00035068" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x1a9d3" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" ( (pointer_expression "*DAT_0003506c" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar19 + -4) = 0x1a9d8;" (assignment_expression "*(undefined4 *)(puVar19 + -4) = 0x1a9d8" (pointer_expression "*(undefined4 *)(puVar19 + -4)" * (cast_expression "(undefined4 *)(puVar19 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar24 = FUN_0001a630();" (assignment_expression "uVar24 = FUN_0001a630()" identifier = (call_expression "FUN_0001a630()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar3 = (uint)((ulonglong)uVar24 >> 0x20);" (assignment_expression "uVar3 = (uint)((ulonglong)uVar24 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar24 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "piVar16 = (int *)uVar24;" (assignment_expression "piVar16 = (int *)uVar24" identifier = (cast_expression "(int *)uVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(int **)(puVar19 + -4) = piVar13;" (assignment_expression "*(int **)(puVar19 + -4) = piVar13" (pointer_expression "*(int **)(puVar19 + -4)" * (cast_expression "(int **)(puVar19 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(pthread_mutex_t **)(puVar19 + -8) = __mutex;" (assignment_expression "*(pthread_mutex_t **)(puVar19 + -8) = __mutex" (pointer_expression "*(pthread_mutex_t **)(puVar19 + -8)" * (cast_expression "(pthread_mutex_t **)(puVar19 + -8)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(void ***)(puVar19 + -0xc) = __rootp;" (assignment_expression "*(void ***)(puVar19 + -0xc) = __rootp" (pointer_expression "*(void ***)(puVar19 + -0xc)" * (cast_expression "(void ***)(puVar19 + -0xc)" ( (type_descriptor "void ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x1a9eb" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = *(int *)(puVar19 + -0x14);" (assignment_expression "iVar4 = *(int *)(puVar19 + -0x14)" identifier = (pointer_expression "*(int *)(puVar19 + -0x14)" * (cast_expression "(int *)(puVar19 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x40) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar19 + -0x40) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar19 + -0x40)" * (cast_expression "(undefined4 *)(puVar19 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x40)" ( (binary_expression "puVar19 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar19 + -0x44) = uVar3;" (assignment_expression "*(uint *)(puVar19 + -0x44) = uVar3" (pointer_expression "*(uint *)(puVar19 + -0x44)" * (cast_expression "(uint *)(puVar19 + -0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x44)" ( (binary_expression "puVar19 + -0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);" (assignment_expression "*(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc)" (pointer_expression "*(undefined4 *)(puVar19 + -0x3c)" * (cast_expression "(undefined4 *)(puVar19 + -0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x3c)" ( (binary_expression "puVar19 + -0x3c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar19 + 0xc)" * (cast_expression "(undefined4 *)(puVar19 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0xc)" ( (binary_expression "puVar19 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);" (assignment_expression "*(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8)" (pointer_expression "*(undefined4 *)(puVar19 + -0x38)" * (cast_expression "(undefined4 *)(puVar19 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x38)" ( (binary_expression "puVar19 + -0x38" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar19 + 8)" * (cast_expression "(undefined4 *)(puVar19 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 8)" ( (binary_expression "puVar19 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar19 + -0x20)" * (cast_expression "(undefined4 *)(puVar19 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puVar20 = puVar19 + -0x4c;" (assignment_expression "puVar20 = puVar19 + -0x4c" identifier = (binary_expression "puVar19 + -0x4c" identifier + number_literal)) ;) (if_statement "if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }" if (parenthesized_expression "(((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0))" ( (binary_expression "((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)" (parenthesized_expression "((char)*(undefined4 *)(puVar19 + 8) != '\0')" ( (binary_expression "(char)*(undefined4 *)(puVar19 + 8) != '\0'" (cast_expression "(char)*(undefined4 *)(puVar19 + 8)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined4 *)(puVar19 + 8)" * (cast_expression "(undefined4 *)(puVar19 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 8)" ( (binary_expression "puVar19 + 8" identifier + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)" ( (comma_expression "iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0" (assignment_expression "iVar12 = piVar16[0x1d]" identifier = (subscript_expression "piVar16[0x1d]" identifier [ number_literal ])) , (comma_expression "puVar20 = puVar19 + -0x4c, iVar12 != 0" (assignment_expression "puVar20 = puVar19 + -0x4c" identifier = (binary_expression "puVar19 + -0x4c" identifier + number_literal)) , (binary_expression "iVar12 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }" { (expression_statement "uVar1 = piVar16[0x22];" (assignment_expression "uVar1 = piVar16[0x22]" identifier = (subscript_expression "piVar16[0x22]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }" { (expression_statement "iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;" (assignment_expression "iVar6 = (uVar3 % uVar1) * 0x174 + iVar12" identifier = (binary_expression "(uVar3 % uVar1) * 0x174 + iVar12" (binary_expression "(uVar3 % uVar1) * 0x174" (parenthesized_expression "(uVar3 % uVar1)" ( (binary_expression "uVar3 % uVar1" identifier % identifier) )) * number_literal) + identifier)) ;) (if_statement "if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }" if (parenthesized_expression "(*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8))" ( (binary_expression "*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)" (pointer_expression "*(uint *)(iVar6 + 0xec)" * (cast_expression "(uint *)(iVar6 + 0xec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xec)" ( (binary_expression "iVar6 + 0xec" identifier + number_literal) )))) <= (pointer_expression "*(uint *)(iVar6 + 0xe8)" * (cast_expression "(uint *)(iVar6 + 0xe8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xe8)" ( (binary_expression "iVar6 + 0xe8" identifier + number_literal) ))))) )) (compound_statement "{\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }" { (expression_statement "piVar16 = *(int **)(puVar19 + -0x44);" (assignment_expression "piVar16 = *(int **)(puVar19 + -0x44)" identifier = (pointer_expression "*(int **)(puVar19 + -0x44)" * (cast_expression "(int **)(puVar19 + -0x44)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x44)" ( (binary_expression "puVar19 + -0x44" identifier + number_literal) ))))) ;) (expression_statement "piVar13 = (int *)(uVar1 + (int)piVar16);" (assignment_expression "piVar13 = (int *)(uVar1 + (int)piVar16)" identifier = (cast_expression "(int *)(uVar1 + (int)piVar16)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar1 + (int)piVar16)" ( (binary_expression "uVar1 + (int)piVar16" identifier + (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (do_statement "do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));" do (compound_statement "{\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        }" { (expression_statement "piVar16 = (int *)((int)piVar16 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar16 + 1)" identifier = (cast_expression "(int *)((int)piVar16 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + 1)" ( (binary_expression "(int)piVar16 + 1" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (piVar13 == piVar16) goto LAB_0001aa90;" if (parenthesized_expression "(piVar13 == piVar16)" ( (binary_expression "piVar13 == piVar16" identifier == identifier) )) (goto_statement "goto LAB_0001aa90;" goto statement_identifier ;)) (expression_statement "iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;" (assignment_expression "iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174" identifier = (binary_expression "iVar12 + ((uint)piVar16 % uVar1) * 0x174" identifier + (binary_expression "((uint)piVar16 % uVar1) * 0x174" (parenthesized_expression "((uint)piVar16 % uVar1)" ( (binary_expression "(uint)piVar16 % uVar1" (cast_expression "(uint)piVar16" ( (type_descriptor "uint" type_identifier) ) identifier) % identifier) )) * number_literal))) ;) }) while (parenthesized_expression "(*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8))" ( (binary_expression "*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)" (pointer_expression "*(uint *)(iVar6 + 0xec)" * (cast_expression "(uint *)(iVar6 + 0xec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xec)" ( (binary_expression "iVar6 + 0xec" identifier + number_literal) )))) <= (pointer_expression "*(uint *)(iVar6 + 0xe8)" * (cast_expression "(uint *)(iVar6 + 0xe8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xe8)" ( (binary_expression "iVar6 + 0xe8" identifier + number_literal) ))))) )) ;) })) (expression_statement "*(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];" (assignment_expression "*(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c]" (pointer_expression "*(uint *)(puVar19 + -0x54)" * (cast_expression "(uint *)(puVar19 + -0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x54)" ( (binary_expression "puVar19 + -0x54" identifier + number_literal) )))) = (cast_expression "(uint)(byte)puVar19[-0x3c]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar19[-0x3c]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar19[-0x3c]" identifier [ number_literal ])))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x58) = 1;" (assignment_expression "*(undefined4 *)(puVar19 + -0x58) = 1" (pointer_expression "*(undefined4 *)(puVar19 + -0x58)" * (cast_expression "(undefined4 *)(puVar19 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x58)" ( (binary_expression "puVar19 + -0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);" (assignment_expression "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4)" (pointer_expression "*(undefined4 *)(puVar19 + -0x5c)" * (cast_expression "(undefined4 *)(puVar19 + -0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x5c)" ( (binary_expression "puVar19 + -0x5c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar19 + 4)" * (cast_expression "(undefined4 *)(puVar19 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 4)" ( (binary_expression "puVar19 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x60) = 0x1ae14;" (assignment_expression "*(undefined4 *)(puVar19 + -0x60) = 0x1ae14" (pointer_expression "*(undefined4 *)(puVar19 + -0x60)" * (cast_expression "(undefined4 *)(puVar19 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x60)" ( (binary_expression "puVar19 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar23 = FUN_0001a9e0();" (assignment_expression "uVar23 = FUN_0001a9e0()" identifier = (call_expression "FUN_0001a9e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar20 = puVar19 + -0x4c;" (assignment_expression "puVar20 = puVar19 + -0x4c" identifier = (binary_expression "puVar19 + -0x4c" identifier + number_literal)) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (labeled_statement "LAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;" statement_identifier : (expression_statement "puVar20 = puVar19 + -0x5c;" (assignment_expression "puVar20 = puVar19 + -0x5c" identifier = (binary_expression "puVar19 + -0x5c" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);" (assignment_expression "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44)" (pointer_expression "*(undefined4 *)(puVar19 + -0x5c)" * (cast_expression "(undefined4 *)(puVar19 + -0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x5c)" ( (binary_expression "puVar19 + -0x5c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar19 + -0x44)" * (cast_expression "(undefined4 *)(puVar19 + -0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x44)" ( (binary_expression "puVar19 + -0x44" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;" (assignment_expression "*(undefined4 *)(puVar19 + -0x60) = 0x1aa9c" (pointer_expression "*(undefined4 *)(puVar19 + -0x60)" * (cast_expression "(undefined4 *)(puVar19 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x60)" ( (binary_expression "puVar19 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));" (assignment_expression "piVar16 = (int *)close(*(int *)(puVar19 + -0x5c))" identifier = (cast_expression "(int *)close(*(int *)(puVar19 + -0x5c))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "close(*(int *)(puVar19 + -0x5c))" identifier (argument_list "(*(int *)(puVar19 + -0x5c))" ( (pointer_expression "*(int *)(puVar19 + -0x5c)" * (cast_expression "(int *)(puVar19 + -0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x5c)" ( (binary_expression "puVar19 + -0x5c" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;" (assignment_expression "*(undefined4 *)(puVar19 + -0x60) = 0x1aaa3" (pointer_expression "*(undefined4 *)(puVar19 + -0x60)" * (cast_expression "(undefined4 *)(puVar19 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x60)" ( (binary_expression "puVar19 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar21 = puVar19 + -0x4c;" (assignment_expression "puVar21 = puVar19 + -0x4c" identifier = (binary_expression "puVar19 + -0x4c" identifier + number_literal)) ;) (if_statement "if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }" if (parenthesized_expression "((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9))" ( (binary_expression "(piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)" (parenthesized_expression "(piVar16 != (int *)0x0)" ( (binary_expression "piVar16 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar21 = puVar19 + -0x4c, *piVar7 == 9)" ( (comma_expression "puVar21 = puVar19 + -0x4c, *piVar7 == 9" (assignment_expression "puVar21 = puVar19 + -0x4c" identifier = (binary_expression "puVar19 + -0x4c" identifier + number_literal)) , (binary_expression "*piVar7 == 9" (pointer_expression "*piVar7" * identifier) == number_literal)) ))) )) (compound_statement "{\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }" { (expression_statement "*(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar19 + -0x50) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar19 + -0x50)" * (cast_expression "(int *)(puVar19 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x50)" ( (binary_expression "puVar19 + -0x50" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x54) = 0x900;" (assignment_expression "*(undefined4 *)(puVar19 + -0x54) = 0x900" (pointer_expression "*(undefined4 *)(puVar19 + -0x54)" * (cast_expression "(undefined4 *)(puVar19 + -0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x54)" ( (binary_expression "puVar19 + -0x54" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x58) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar19 + -0x58) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar19 + -0x58)" * (cast_expression "(int *)(puVar19 + -0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x58)" ( (binary_expression "puVar19 + -0x58" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar19 + -0x5c)" * (cast_expression "(undefined4 *)(puVar19 + -0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x5c)" ( (binary_expression "puVar19 + -0x5c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x60) = 0x1aad6;" (assignment_expression "*(undefined4 *)(puVar19 + -0x60) = 0x1aad6" (pointer_expression "*(undefined4 *)(puVar19 + -0x60)" * (cast_expression "(undefined4 *)(puVar19 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x60)" ( (binary_expression "puVar19 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001aae0;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ab3b:\n    puVar20 = puVar21;" statement_identifier : (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" identifier = identifier) ;)) (expression_statement "*piVar7 = 0x17;" (assignment_expression "*piVar7 = 0x17" (pointer_expression "*piVar7" * identifier) = number_literal) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }" statement_identifier : (if_statement "if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }" if (parenthesized_expression "(*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar20 + 0x2c)" * (cast_expression "(int *)(puVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x2c)" ( (binary_expression "puVar20 + 0x2c" identifier + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }" { comment (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b4e1;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b4e1" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar23;" return identifier ;) })) (labeled_statement "LAB_0001aae0:\n  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }" statement_identifier : (if_statement "if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }" if (parenthesized_expression "((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0))" ( (binary_expression "(*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)" (parenthesized_expression "(*(int *)(puVar20 + 8) < 0x400)" ( (binary_expression "*(int *)(puVar20 + 8) < 0x400" (pointer_expression "*(int *)(puVar20 + 8)" * (cast_expression "(int *)(puVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) )))) < number_literal) )) || (parenthesized_expression "((piVar16[0x3e] & 0x240U) != 0)" ( (binary_expression "(piVar16[0x3e] & 0x240U) != 0" (parenthesized_expression "(piVar16[0x3e] & 0x240U)" ( (binary_expression "piVar16[0x3e] & 0x240U" (subscript_expression "piVar16[0x3e]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }" { (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" identifier = identifier) ;) (expression_statement "piVar9 = piVar13;" (assignment_expression "piVar9 = piVar13" identifier = identifier) ;) (expression_statement "piVar8 = piVar16;" (assignment_expression "piVar8 = piVar16" identifier = identifier) ;) (expression_statement "piVar7 = piVar16;" (assignment_expression "piVar7 = piVar16" identifier = identifier) ;) (if_statement "if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }" if (parenthesized_expression "(piVar16[0x3a] != piVar16[0x3b])" ( (binary_expression "piVar16[0x3a] != piVar16[0x3b]" (subscript_expression "piVar16[0x3a]" identifier [ number_literal ]) != (subscript_expression "piVar16[0x3b]" identifier [ number_literal ])) )) (compound_statement "{\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }" { (do_statement "do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);" do (compound_statement "{\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      }" { (expression_statement "piVar8 = piVar7;" (assignment_expression "piVar8 = piVar7" identifier = identifier) ;) (expression_statement "piVar7 = (int *)piVar8[0x1c];" (assignment_expression "piVar7 = (int *)piVar8[0x1c]" identifier = (cast_expression "(int *)piVar8[0x1c]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[0x1c]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((int *)piVar8[0x1c] != (int *)0x0)" ( (binary_expression "(int *)piVar8[0x1c] != (int *)0x0" (cast_expression "(int *)piVar8[0x1c]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[0x1c]" identifier [ number_literal ])) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }" if (parenthesized_expression "(piVar8[0x3d] != 0)" ( (binary_expression "piVar8[0x3d] != 0" (subscript_expression "piVar8[0x3d]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }" { (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = 0x18;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = 0x18" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ad7c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));" (assignment_expression "piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" identifier = (cast_expression "(int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" identifier (argument_list "(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" ( (pointer_expression "*(size_t *)(puVar20 + -0x10)" * (cast_expression "(size_t *)(puVar20 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar20 + -0xc)" * (cast_expression "(size_t *)(puVar20 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) ))))) ;) (expression_statement "piVar9 = piVar13;" (assignment_expression "piVar9 = piVar13" identifier = identifier) ;) (if_statement "if (piVar13 == (int *)0x0) goto LAB_0001ab0a;" if (parenthesized_expression "(piVar13 == (int *)0x0)" ( (binary_expression "piVar13 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001ab0a;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;" if (parenthesized_expression "(*(int *)(puVar20 + 0x50) == 0x10)" ( (binary_expression "*(int *)(puVar20 + 0x50) == 0x10" (pointer_expression "*(int *)(puVar20 + 0x50)" * (cast_expression "(int *)(puVar20 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x50)" ( (binary_expression "puVar20 + 0x50" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001b05b;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }" if (parenthesized_expression "(*(int *)(puVar20 + 0x50) == 0x1c)" ( (binary_expression "*(int *)(puVar20 + 0x50) == 0x1c" (pointer_expression "*(int *)(puVar20 + 0x50)" * (cast_expression "(int *)(puVar20 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x50)" ( (binary_expression "puVar20 + 0x50" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }" { (expression_statement "iVar12 = *(int *)(puVar20 + 0xc);" (assignment_expression "iVar12 = *(int *)(puVar20 + 0xc)" identifier = (pointer_expression "*(int *)(puVar20 + 0xc)" * (cast_expression "(int *)(puVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xc)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*piVar13 = 10;" (assignment_expression "*piVar13 = 10" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (expression_statement "piVar13[1] = *(int *)(iVar12 + 8);" (assignment_expression "piVar13[1] = *(int *)(iVar12 + 8)" (subscript_expression "piVar13[1]" identifier [ number_literal ]) = (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) ;) (expression_statement "piVar13[2] = *(int *)(iVar12 + 0xc);" (assignment_expression "piVar13[2] = *(int *)(iVar12 + 0xc)" (subscript_expression "piVar13[2]" identifier [ number_literal ]) = (pointer_expression "*(int *)(iVar12 + 0xc)" * (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar12 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar12 + 0x14)" identifier = (pointer_expression "*(int *)(iVar12 + 0x14)" * (cast_expression "(int *)(iVar12 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "piVar13[3] = *(int *)(iVar12 + 0x10);" (assignment_expression "piVar13[3] = *(int *)(iVar12 + 0x10)" (subscript_expression "piVar13[3]" identifier [ number_literal ]) = (pointer_expression "*(int *)(iVar12 + 0x10)" * (cast_expression "(int *)(iVar12 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "piVar13[4] = iVar6;" (assignment_expression "piVar13[4] = iVar6" (subscript_expression "piVar13[4]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_0001b06b;" goto statement_identifier ;) })) (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ada8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ada8" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) })) (do_statement "do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);" do (compound_statement "{\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      }" { (expression_statement "pcVar2 = (code *)piVar16[0x10];" (assignment_expression "pcVar2 = (code *)piVar16[0x10]" identifier = (cast_expression "(code *)piVar16[0x10]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[0x10]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }" if (parenthesized_expression "(pcVar2 != (code *)0x0)" ( (binary_expression "pcVar2 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }" { (expression_statement "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);" (assignment_expression "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50)" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x50)" * (cast_expression "(undefined4 *)(puVar20 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x50)" ( (binary_expression "puVar20 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc)" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0xc)" * (cast_expression "(undefined4 *)(puVar20 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xc)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x11];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x11]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar16[0x11]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ab8e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = (int *)(*pcVar2)();" (assignment_expression "piVar8 = (int *)(*pcVar2)()" identifier = (cast_expression "(int *)(*pcVar2)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))))) ;) (if_statement "if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }" { (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1aea4;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1aea4" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" identifier = (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1aeb0;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1aeb0" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar7 == 9) goto LAB_0001b55d;" if (parenthesized_expression "(*piVar7 == 9)" ( (binary_expression "*piVar7 == 9" (pointer_expression "*piVar7" * identifier) == number_literal) )) (goto_statement "goto LAB_0001b55d;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1aec8;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1aec8" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) })) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 0xfc;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 0xfc" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1abaa;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1abaa" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));" (assignment_expression "piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" identifier = (cast_expression "(int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" identifier (argument_list "(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" ( (pointer_expression "*(size_t *)(puVar20 + -0x10)" * (cast_expression "(size_t *)(puVar20 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar20 + -0xc)" * (cast_expression "(size_t *)(puVar20 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) ))))) ;) (if_statement "if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1aed5;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1aed5" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar13 = (int *)*piVar8;" (assignment_expression "piVar13 = (int *)*piVar8" identifier = (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1aee2;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1aee2" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" * (cast_expression "(char **)(puVar20 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10683" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1aef3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1aef3" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1aefd;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1aefd" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" identifier = (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;" if (parenthesized_expression "((iVar12 != 0) && (*piVar8 == 9))" ( (binary_expression "(iVar12 != 0) && (*piVar8 == 9)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(*piVar8 == 9)" ( (binary_expression "*piVar8 == 9" (pointer_expression "*piVar8" * identifier) == number_literal) ))) )) (goto_statement "goto LAB_0001b57c;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1af1c;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1af1c" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" identifier (argument_list "()" ( ))) ;) (expression_statement "*piVar8 = (int)piVar13;" (assignment_expression "*piVar8 = (int)piVar13" (pointer_expression "*piVar8" * identifier) = (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x1f];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x1f]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar16[0x1f]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1abc2;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1abc2" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = FUN_000219e0();" (assignment_expression "iVar12 = FUN_000219e0()" identifier = (call_expression "FUN_000219e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar9[10] = iVar12;" (assignment_expression "piVar9[10] = iVar12" (subscript_expression "piVar9[10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1af2a;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1af2a" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar20 + -0x10) = *piVar8;" (assignment_expression "*(int *)(puVar20 + -0x10) = *piVar8" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af36;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af36" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" * (cast_expression "(char **)(puVar20 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10683" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af47;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af47" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af51;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af51" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" identifier = (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;" if (parenthesized_expression "((iVar12 != 0) && (*piVar8 == 9))" ( (binary_expression "(iVar12 != 0) && (*piVar8 == 9)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(*piVar8 == 9)" ( (binary_expression "*piVar8 == 9" (pointer_expression "*piVar8" * identifier) == number_literal) ))) )) (goto_statement "goto LAB_0001b63b;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1af70;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1af70" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af79;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af79" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*piVar8 = 0xc;" (assignment_expression "*piVar8 = 0xc" (pointer_expression "*piVar8" * identifier) = number_literal) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "piVar9[0x26] = piVar16[0x3c];" (assignment_expression "piVar9[0x26] = piVar16[0x3c]" (subscript_expression "piVar9[0x26]" identifier [ number_literal ]) = (subscript_expression "piVar16[0x3c]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x50)" * (cast_expression "(undefined4 *)(puVar20 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x50)" ( (binary_expression "puVar20 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1abe8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1abe8" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));" (assignment_expression "pvVar10 = malloc(*(size_t *)(puVar20 + -0x10))" identifier = (call_expression "malloc(*(size_t *)(puVar20 + -0x10))" identifier (argument_list "(*(size_t *)(puVar20 + -0x10))" ( (pointer_expression "*(size_t *)(puVar20 + -0x10)" * (cast_expression "(size_t *)(puVar20 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "piVar9[0x15] = (int)pvVar10;" (assignment_expression "piVar9[0x15] = (int)pvVar10" (subscript_expression "piVar9[0x15]" identifier [ number_literal ]) = (cast_expression "(int)pvVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" if (parenthesized_expression "(pvVar10 == (void *)0x0)" ( (binary_expression "pvVar10 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1ae23;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1ae23" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar12 = *piVar8;" (assignment_expression "iVar12 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(int *)(puVar20 + 0x10) = iVar12;" (assignment_expression "*(int *)(puVar20 + 0x10) = iVar12" (pointer_expression "*(int *)(puVar20 + 0x10)" * (cast_expression "(int *)(puVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar20 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae34;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae34" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" * (cast_expression "(char **)(puVar20 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10683" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae45;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae45" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae4f" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" identifier = (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;" if (parenthesized_expression "((iVar12 != 0) && (*piVar8 == 9))" ( (binary_expression "(iVar12 != 0) && (*piVar8 == 9)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(*piVar8 == 9)" ( (binary_expression "*piVar8 == 9" (pointer_expression "*piVar8" * identifier) == number_literal) ))) )) (goto_statement "goto LAB_0001b61c;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1ae6e;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1ae6e" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[10];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[10]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae79;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae79" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00021a90();" (call_expression "FUN_00021a90()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae81;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae81" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*piVar8 = *(int *)(puVar20 + 0x10);" (assignment_expression "*piVar8 = *(int *)(puVar20 + 0x10)" (pointer_expression "*piVar8" * identifier) = (pointer_expression "*(int *)(puVar20 + 0x10)" * (cast_expression "(int *)(puVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);" (assignment_expression "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50)" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x50)" * (cast_expression "(undefined4 *)(puVar20 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x50)" ( (binary_expression "puVar20 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc)" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0xc)" * (cast_expression "(undefined4 *)(puVar20 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xc)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (expression_statement "*(void **)(puVar20 + -0x10) = pvVar10;" (assignment_expression "*(void **)(puVar20 + -0x10) = pvVar10" (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ac07;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ac07" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));" (call_expression "memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8))" identifier (argument_list "(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar20 + -0xc)" * (cast_expression "(void **)(puVar20 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar20 + -8)" * (cast_expression "(size_t *)(puVar20 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) ))) ;) (expression_statement "iVar12 = *(int *)(puVar20 + 0x50);" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x50)" identifier = (pointer_expression "*(int *)(puVar20 + 0x50)" * (cast_expression "(int *)(puVar20 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x50)" ( (binary_expression "puVar20 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "piVar9[6] = (int)piVar16;" (assignment_expression "piVar9[6] = (int)piVar16" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[0x24] = iVar12;" (assignment_expression "piVar9[0x24] = iVar12" (subscript_expression "piVar9[0x24]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0x29] = *(int *)(puVar20 + 8);" (assignment_expression "piVar9[0x29] = *(int *)(puVar20 + 8)" (subscript_expression "piVar9[0x29]" identifier [ number_literal ]) = (pointer_expression "*(int *)(puVar20 + 8)" * (cast_expression "(int *)(puVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];" (assignment_expression "*(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10]" (pointer_expression "*(undefined1 *)(piVar9 + 0x2a)" * (cast_expression "(undefined1 *)(piVar9 + 0x2a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 0x2a)" ( (binary_expression "piVar9 + 0x2a" identifier + number_literal) )))) = (subscript_expression "puVar20[0x10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ac2e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = FUN_00021e50();" (assignment_expression "iVar12 = FUN_00021e50()" identifier = (call_expression "FUN_00021e50()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar9[0x25] = iVar12;" (assignment_expression "piVar9[0x25] = iVar12" (subscript_expression "piVar9[0x25]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }" if (parenthesized_expression "((*(byte *)(piVar16 + 0x3e) & 2) == 0)" ( (binary_expression "(*(byte *)(piVar16 + 0x3e) & 2) == 0" (parenthesized_expression "(*(byte *)(piVar16 + 0x3e) & 2)" ( (binary_expression "*(byte *)(piVar16 + 0x3e) & 2" (pointer_expression "*(byte *)(piVar16 + 0x3e)" * (cast_expression "(byte *)(piVar16 + 0x3e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar16 + 0x3e)" ( (binary_expression "piVar16 + 0x3e" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }" { (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ac4d" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00016110();" (call_expression "FUN_00016110()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;" statement_identifier : (expression_statement "*(int **)(puVar20 + 0x10) = piVar16 + 0x2b;" (assignment_expression "*(int **)(puVar20 + 0x10) = piVar16 + 0x2b" (pointer_expression "*(int **)(puVar20 + 0x10)" * (cast_expression "(int **)(puVar20 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) )))) = (binary_expression "piVar16 + 0x2b" identifier + number_literal)) ;)) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16 + 0x2b;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16 + 0x2b" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (binary_expression "piVar16 + 0x2b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ac63;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ac63" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" identifier = identifier) ;) (if_statement "if (iVar12 != 0) goto LAB_0001b5bf;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b5bf;" goto statement_identifier ;)) (if_statement "if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }" if (parenthesized_expression "((uint)piVar16[0x3a] < (uint)piVar16[0x3b])" ( (binary_expression "(uint)piVar16[0x3a] < (uint)piVar16[0x3b]" (cast_expression "(uint)piVar16[0x3a]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar16[0x3a]" identifier [ number_literal ])) < (cast_expression "(uint)piVar16[0x3b]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar16[0x3b]" identifier [ number_literal ]))) )) (compound_statement "{\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }" { (expression_statement "piVar16[0x3a] = piVar16[0x3a] + 1;" (assignment_expression "piVar16[0x3a] = piVar16[0x3a] + 1" (subscript_expression "piVar16[0x3a]" identifier [ number_literal ]) = (binary_expression "piVar16[0x3a] + 1" (subscript_expression "piVar16[0x3a]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }" if (parenthesized_expression "((*(byte *)(piVar16 + 0x3e) & 4) == 0)" ( (binary_expression "(*(byte *)(piVar16 + 0x3e) & 4) == 0" (parenthesized_expression "(*(byte *)(piVar16 + 0x3e) & 4)" ( (binary_expression "*(byte *)(piVar16 + 0x3e) & 4" (pointer_expression "*(byte *)(piVar16 + 0x3e)" * (cast_expression "(byte *)(piVar16 + 0x3e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar16 + 0x3e)" ( (binary_expression "piVar16 + 0x3e" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }" { (expression_statement "iVar12 = piVar16[0xc];" (assignment_expression "iVar12 = piVar16[0xc]" identifier = (subscript_expression "piVar16[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar16[0xd];" (assignment_expression "iVar6 = piVar16[0xd]" identifier = (subscript_expression "piVar16[0xd]" identifier [ number_literal ])) ;) (expression_statement "piVar9[5] = 0;" (assignment_expression "piVar9[5] = 0" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[4] = iVar12;" (assignment_expression "piVar9[4] = iVar12" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                piVar16[0xd] = (int)piVar9;\n              }" { (expression_statement "piVar16[0xd] = (int)piVar9;" (assignment_expression "piVar16[0xd] = (int)piVar9" (subscript_expression "piVar16[0xd]" identifier [ number_literal ]) = (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }" else (compound_statement "{\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }" { (expression_statement "*(int **)(iVar12 + 0x14) = piVar9;" (assignment_expression "*(int **)(iVar12 + 0x14) = piVar9" (pointer_expression "*(int **)(iVar12 + 0x14)" * (cast_expression "(int **)(iVar12 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar16[0xc] = (int)piVar9;" (assignment_expression "piVar16[0xc] = (int)piVar9" (subscript_expression "piVar16[0xc]" identifier [ number_literal ]) = (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "iVar12 = piVar16[2];" (assignment_expression "iVar12 = piVar16[2]" identifier = (subscript_expression "piVar16[2]" identifier [ number_literal ])) ;) (expression_statement "piVar8 = (int *)piVar16[3];" (assignment_expression "piVar8 = (int *)piVar16[3]" identifier = (cast_expression "(int *)piVar16[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[3]" identifier [ number_literal ]))) ;) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[2] = iVar12;" (assignment_expression "piVar9[2] = iVar12" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              piVar16[3] = (int)piVar9;\n            }" { (expression_statement "piVar16[3] = (int)piVar9;" (assignment_expression "piVar16[3] = (int)piVar9" (subscript_expression "piVar16[3]" identifier [ number_literal ]) = (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }" else (compound_statement "{\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }" { (expression_statement "*(int **)(iVar12 + 0xc) = piVar9;" (assignment_expression "*(int **)(iVar12 + 0xc) = piVar9" (pointer_expression "*(int **)(iVar12 + 0xc)" * (cast_expression "(int **)(iVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar16[2] = (int)piVar9;" (assignment_expression "piVar16[2] = (int)piVar9" (subscript_expression "piVar16[2]" identifier [ number_literal ]) = (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x10)" * (cast_expression "(undefined4 *)(puVar20 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1acda;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1acda" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) goto LAB_0001b5fd;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b5fd;" goto statement_identifier ;)) (expression_statement "pcVar2 = (code *)piVar16[0x14];" (assignment_expression "pcVar2 = (code *)piVar16[0x14]" identifier = (cast_expression "(code *)piVar16[0x14]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[0x14]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }" if (parenthesized_expression "(pcVar2 != (code *)0x0)" ( (binary_expression "pcVar2 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar20 + -8) = piVar9 + 0xc;" (assignment_expression "*(int **)(puVar20 + -8) = piVar9 + 0xc" (pointer_expression "*(int **)(puVar20 + -8)" * (cast_expression "(int **)(puVar20 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (binary_expression "piVar9 + 0xc" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0xc) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0xc) = piVar9" (pointer_expression "*(int **)(puVar20 + -0xc)" * (cast_expression "(int **)(puVar20 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x15];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x15]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar16[0x15]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1acf8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1acf8" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "uVar3 = piVar16[0x3e];" (assignment_expression "uVar3 = piVar16[0x3e]" identifier = (subscript_expression "piVar16[0x3e]" identifier [ number_literal ])) ;) (if_statement "if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }" if (parenthesized_expression "((uVar3 & 4) == 0)" ( (binary_expression "(uVar3 & 4) == 0" (parenthesized_expression "(uVar3 & 4)" ( (binary_expression "uVar3 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }" { (expression_statement "iVar12 = piVar16[0x24];" (assignment_expression "iVar12 = piVar16[0x24]" identifier = (subscript_expression "piVar16[0x24]" identifier [ number_literal ])) ;) (expression_statement "piVar9[0x16] = piVar16[0x23];" (assignment_expression "piVar9[0x16] = piVar16[0x23]" (subscript_expression "piVar9[0x16]" identifier [ number_literal ]) = (subscript_expression "piVar16[0x23]" identifier [ number_literal ])) ;) (expression_statement "piVar9[0x17] = iVar12;" (assignment_expression "piVar9[0x17] = iVar12" (subscript_expression "piVar9[0x17]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }" else (compound_statement "{\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }" { (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;" (assignment_expression "*(int *)(puVar20 + -0x14) = iVar4 + 0x1e35" (pointer_expression "*(int *)(puVar20 + -0x14)" * (cast_expression "(int *)(puVar20 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1e35" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x18) = piVar16[0x21];" (assignment_expression "*(int *)(puVar20 + -0x18) = piVar16[0x21]" (pointer_expression "*(int *)(puVar20 + -0x18)" * (cast_expression "(int *)(puVar20 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x18)" ( (binary_expression "puVar20 + -0x18" identifier + number_literal) )))) = (subscript_expression "piVar16[0x21]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;" (assignment_expression "*(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8" (pointer_expression "*(int *)(puVar20 + -0x1c)" * (cast_expression "(int *)(puVar20 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x1c)" ( (binary_expression "puVar20 + -0x1c" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x106b8" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x20) = piVar9 + 0x16;" (assignment_expression "*(int **)(puVar20 + -0x20) = piVar9 + 0x16" (pointer_expression "*(int **)(puVar20 + -0x20)" * (cast_expression "(int **)(puVar20 + -0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x20)" ( (binary_expression "puVar20 + -0x20" identifier + number_literal) )))) = (binary_expression "piVar9 + 0x16" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;" (assignment_expression "*(undefined4 *)(puVar20 + -0x24) = 0x1b2fe" (pointer_expression "*(undefined4 *)(puVar20 + -0x24)" * (cast_expression "(undefined4 *)(puVar20 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x24)" ( (binary_expression "puVar20 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = FUN_00023b50();" (assignment_expression "iVar12 = FUN_00023b50()" identifier = (call_expression "FUN_00023b50()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b4b0;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b4b0" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar8 = (int *)*piVar8;" (assignment_expression "piVar8 = (int *)*piVar8" identifier = (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b4bb" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" * (cast_expression "(char **)(puVar20 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;" (assignment_expression "*(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression ""gnutls_malloc" + iVar4 + 0xb" (binary_expression ""gnutls_malloc" + iVar4" (string_literal ""gnutls_malloc"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b4cc" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001b19b;" goto statement_identifier ;) })) (expression_statement "uVar3 = piVar16[0x3e];" (assignment_expression "uVar3 = piVar16[0x3e]" identifier = (subscript_expression "piVar16[0x3e]" identifier [ number_literal ])) ;) }))) (if_statement "if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" if (parenthesized_expression "((uVar3 & 0x200) == 0)" ( (binary_expression "(uVar3 & 0x200) == 0" (parenthesized_expression "(uVar3 & 0x200)" ( (binary_expression "uVar3 & 0x200" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" { (if_statement "if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }" if (parenthesized_expression "((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1))" ( (binary_expression "(((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)" (parenthesized_expression "(((uVar3 & 4) == 0) && (puVar20[0x14] != '\0'))" ( (binary_expression "((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')" (parenthesized_expression "((uVar3 & 4) == 0)" ( (binary_expression "(uVar3 & 4) == 0" (parenthesized_expression "(uVar3 & 4)" ( (binary_expression "uVar3 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(puVar20[0x14] != '\0')" ( (binary_expression "puVar20[0x14] != '\0'" (subscript_expression "puVar20[0x14]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(iVar12 = piVar16[0x37], iVar12 != -1)" ( (comma_expression "iVar12 = piVar16[0x37], iVar12 != -1" (assignment_expression "iVar12 = piVar16[0x37]" identifier = (subscript_expression "piVar16[0x37]" identifier [ number_literal ])) , (binary_expression "iVar12 != -1" identifier != number_literal)) ))) )) (compound_statement "{\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }" { (expression_statement "*(undefined4 *)(puVar20 + -8) = 8;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 8" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x11e05" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x11e05" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar20 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b423;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b423" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));" (assignment_expression "sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8))" identifier = (call_expression "write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8))" identifier (argument_list "(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar20 + -0xc)" * (cast_expression "(void **)(puVar20 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar20 + -8)" * (cast_expression "(size_t *)(puVar20 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }" if (parenthesized_expression "(sVar11 < 1)" ( (binary_expression "sVar11 < 1" identifier < number_literal) )) (compound_statement "{\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b433;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b433" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }" if (parenthesized_expression "(*piVar13 != 0xb)" ( (binary_expression "*piVar13 != 0xb" (pointer_expression "*piVar13" * identifier) != number_literal) )) (compound_statement "{\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = extraout_EDX_00;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = extraout_EDX_00" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = extraout_EDX_00;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = extraout_EDX_00" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;" (assignment_expression "*(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression ""gnutls_dh_params_init" + iVar4 + 0xb" (binary_expression ""gnutls_dh_params_init" + iVar4" (string_literal ""gnutls_dh_params_init"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b44b;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b44b" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) })) })) })) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (if_statement "if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" if (parenthesized_expression "(((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0'))" ( (binary_expression "((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')" (parenthesized_expression "((uVar3 & 0x1000) != 0)" ( (binary_expression "(uVar3 & 0x1000) != 0" (parenthesized_expression "(uVar3 & 0x1000)" ( (binary_expression "uVar3 & 0x1000" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(puVar20[0x14] == '\0')" ( (binary_expression "puVar20[0x14] == '\0'" (subscript_expression "puVar20[0x14]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" { (expression_statement "iVar4 = piVar16[8];" (assignment_expression "iVar4 = piVar16[8]" identifier = (subscript_expression "piVar16[8]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = piVar16[9];" (assignment_expression "iVar12 = piVar16[9]" identifier = (subscript_expression "piVar16[9]" identifier [ number_literal ])) ;) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x2c] = piVar9[0x2c] | 7;" (assignment_expression "piVar9[0x2c] = piVar9[0x2c] | 7" (subscript_expression "piVar9[0x2c]" identifier [ number_literal ]) = (binary_expression "piVar9[0x2c] | 7" (subscript_expression "piVar9[0x2c]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*piVar9 = iVar4;" (assignment_expression "*piVar9 = iVar4" (pointer_expression "*piVar9" * identifier) = identifier) ;) (if_statement "if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n                piVar16[9] = (int)piVar9;\n              }" { (expression_statement "piVar16[9] = (int)piVar9;" (assignment_expression "piVar16[9] = (int)piVar9" (subscript_expression "piVar16[9]" identifier [ number_literal ]) = (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }" else (compound_statement "{\n                *(int **)(iVar4 + 4) = piVar9;\n              }" { (expression_statement "*(int **)(iVar4 + 4) = piVar9;" (assignment_expression "*(int **)(iVar4 + 4) = piVar9" (pointer_expression "*(int **)(iVar4 + 4)" * (cast_expression "(int **)(iVar4 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar16[8] = (int)piVar9;" (assignment_expression "piVar16[8] = (int)piVar9" (subscript_expression "piVar16[8]" identifier [ number_literal ]) = (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar20 + 0x20) = 0x80000007;" (assignment_expression "*(undefined4 *)(puVar20 + 0x20) = 0x80000007" (pointer_expression "*(undefined4 *)(puVar20 + 0x20)" * (cast_expression "(undefined4 *)(puVar20 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x20)" ( (binary_expression "puVar20 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar20 + 0x24) = piVar9;" (assignment_expression "*(int **)(puVar20 + 0x24) = piVar9" (pointer_expression "*(int **)(puVar20 + 0x24)" * (cast_expression "(int **)(puVar20 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x24)" ( (binary_expression "puVar20 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;" (assignment_expression "*(undefined1 **)(puVar20 + -4) = puVar20 + 0x20" (pointer_expression "*(undefined1 **)(puVar20 + -4)" * (cast_expression "(undefined1 **)(puVar20 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "puVar20 + 0x20" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x33];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x33]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar16[0x33]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b336;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b336" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));" (assignment_expression "iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4))" identifier = (call_expression "epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4))" identifier (argument_list "(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar20 + -8)" * (cast_expression "(int *)(puVar20 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) , (pointer_expression "*(epoll_event **)(puVar20 + -4)" * (cast_expression "(epoll_event **)(puVar20 + -4)" ( (type_descriptor "epoll_event **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" { (expression_statement "piVar9[0x2c] = piVar9[0x2c] | 8;" (assignment_expression "piVar9[0x2c] = piVar9[0x2c] | 8" (subscript_expression "piVar9[0x2c]" identifier [ number_literal ]) = (binary_expression "piVar9[0x2c] | 8" (subscript_expression "piVar9[0x2c]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b487;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b487" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar8 = (int *)*piVar8;" (assignment_expression "piVar8 = (int *)*piVar8" identifier = (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b492;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b492" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" * (cast_expression "(char **)(puVar20 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0xf750;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0xf750" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf750" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b4a3" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];" statement_identifier : (expression_statement "pcVar2 = (code *)piVar16[0x14];" (assignment_expression "pcVar2 = (code *)piVar16[0x14]" identifier = (cast_expression "(code *)piVar16[0x14]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[0x14]" identifier [ number_literal ]))) ;)) (if_statement "if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }" if (parenthesized_expression "(pcVar2 != (code *)0x0)" ( (binary_expression "pcVar2 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar20 + -8) = piVar9 + 0xc;" (assignment_expression "*(int **)(puVar20 + -8) = piVar9 + 0xc" (pointer_expression "*(int **)(puVar20 + -8)" * (cast_expression "(int **)(puVar20 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (binary_expression "piVar9 + 0xc" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0xc) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0xc) = piVar9" (pointer_expression "*(int **)(puVar20 + -0xc)" * (cast_expression "(int **)(puVar20 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x15];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x15]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar16[0x15]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b1ae" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) })) (if_statement "if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }" if (parenthesized_expression "(piVar9[0x38] != 0)" ( (binary_expression "piVar9[0x38] != 0" (subscript_expression "piVar9[0x38]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }" { (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b1c4" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_deinit();" (call_expression "gnutls_deinit()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b1d3" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" identifier = (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b1df;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b1df" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar13 == 9) goto LAB_0001b500;" if (parenthesized_expression "(*piVar13 == 9)" ( (binary_expression "*piVar13 == 9" (pointer_expression "*piVar13" * identifier) == number_literal) )) (goto_statement "goto LAB_0001b500;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b1f7;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b1f7" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x10)" * (cast_expression "(undefined4 *)(puVar20 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b203;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b203" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) goto LAB_0001b5de;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b5de;" goto statement_identifier ;)) (if_statement "if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }" if (parenthesized_expression "((*(byte *)(piVar16 + 0x3e) & 4) == 0)" ( (binary_expression "(*(byte *)(piVar16 + 0x3e) & 4) == 0" (parenthesized_expression "(*(byte *)(piVar16 + 0x3e) & 4)" ( (binary_expression "*(byte *)(piVar16 + 0x3e) & 4" (pointer_expression "*(byte *)(piVar16 + 0x3e)" * (cast_expression "(byte *)(piVar16 + 0x3e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar16 + 0x3e)" ( (binary_expression "piVar16 + 0x3e" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }" { (expression_statement "iVar12 = piVar9[4];" (assignment_expression "iVar12 = piVar9[4]" identifier = (subscript_expression "piVar9[4]" identifier [ number_literal ])) ;) (if_statement "if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }" if (parenthesized_expression "(piVar9[5] == 0)" ( (binary_expression "piVar9[5] == 0" (subscript_expression "piVar9[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }" { (expression_statement "piVar16[0xc] = iVar12;" (assignment_expression "piVar16[0xc] = iVar12" (subscript_expression "piVar16[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }" else (compound_statement "{\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }" { (expression_statement "*(int *)(piVar9[5] + 0x10) = iVar12;" (assignment_expression "*(int *)(piVar9[5] + 0x10) = iVar12" (pointer_expression "*(int *)(piVar9[5] + 0x10)" * (cast_expression "(int *)(piVar9[5] + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9[5] + 0x10)" ( (binary_expression "piVar9[5] + 0x10" (subscript_expression "piVar9[5]" identifier [ number_literal ]) + number_literal) )))) = identifier) ;) (expression_statement "iVar12 = piVar9[4];" (assignment_expression "iVar12 = piVar9[4]" identifier = (subscript_expression "piVar9[4]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar9[5];" (assignment_expression "iVar6 = piVar9[5]" identifier = (subscript_expression "piVar9[5]" identifier [ number_literal ])) ;) }))) (if_statement "if (iVar12 == 0) goto LAB_0001b472;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001b472;" goto statement_identifier ;)) (expression_statement "*(int *)(iVar12 + 0x14) = iVar6;" (assignment_expression "*(int *)(iVar12 + 0x14) = iVar6" (pointer_expression "*(int *)(iVar12 + 0x14)" * (cast_expression "(int *)(iVar12 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0001b239:\n              piVar9[4] = 0;" statement_identifier : (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "piVar9[5] = 0;" (assignment_expression "piVar9[5] = 0" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "iVar12 = piVar9[2];" (assignment_expression "iVar12 = piVar9[2]" identifier = (subscript_expression "piVar9[2]" identifier [ number_literal ])) ;) (if_statement "if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }" if (parenthesized_expression "(piVar9[3] == 0)" ( (binary_expression "piVar9[3] == 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }" { (expression_statement "piVar16[2] = iVar12;" (assignment_expression "piVar16[2] = iVar12" (subscript_expression "piVar16[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }" else (compound_statement "{\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }" { (expression_statement "*(int *)(piVar9[3] + 8) = iVar12;" (assignment_expression "*(int *)(piVar9[3] + 8) = iVar12" (pointer_expression "*(int *)(piVar9[3] + 8)" * (cast_expression "(int *)(piVar9[3] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9[3] + 8)" ( (binary_expression "piVar9[3] + 8" (subscript_expression "piVar9[3]" identifier [ number_literal ]) + number_literal) )))) = identifier) ;) (expression_statement "iVar12 = piVar9[2];" (assignment_expression "iVar12 = piVar9[2]" identifier = (subscript_expression "piVar9[2]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar9[3];" (assignment_expression "iVar6 = piVar9[3]" identifier = (subscript_expression "piVar9[3]" identifier [ number_literal ])) ;) }))) (if_statement "if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              piVar16[3] = iVar6;\n            }" { (expression_statement "piVar16[3] = iVar6;" (assignment_expression "piVar16[3] = iVar6" (subscript_expression "piVar16[3]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }" else (compound_statement "{\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }" { (expression_statement "*(int *)(iVar12 + 0xc) = iVar6;" (assignment_expression "*(int *)(iVar12 + 0xc) = iVar6" (pointer_expression "*(int *)(iVar12 + 0xc)" * (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x10)" * (cast_expression "(undefined4 *)(puVar20 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b283;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b283" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }" { (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[10];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[10]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b299;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b299" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00021a90();" (call_expression "FUN_00021a90()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x15];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x15]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x15]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b2a2" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b2aa" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b2af;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b2af" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }" { (expression_statement "*piVar13 = 0x16;" (assignment_expression "*piVar13 = 0x16" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }" else (compound_statement "{\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }" { (expression_statement "*piVar13 = (int)piVar8;" (assignment_expression "*piVar13 = (int)piVar8" (pointer_expression "*piVar13" * identifier) = (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) }) (else_clause "else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }" else (compound_statement "{\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }" { (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x10)" * (cast_expression "(undefined4 *)(puVar20 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b178;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b178" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }" { (expression_statement "piVar8 = (int *)0x17;" (assignment_expression "piVar8 = (int *)0x17" identifier = (cast_expression "(int *)0x17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;" (assignment_expression "*(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression ""__fdelt_chk" + iVar4 + 7" (binary_expression ""__fdelt_chk" + iVar4" (string_literal ""__fdelt_chk"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b198;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b198" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001b19b;" goto statement_identifier ;) })) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf639;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf639" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf639" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x9ea;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x9ea" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b500;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b500" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar21 + -4)" * (cast_expression "(int *)(puVar21 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0xa56;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0xa56" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" identifier = (binary_expression "puVar21 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b51f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b51f" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) }))) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf639;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf639" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf639" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xa67;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xa67" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b53e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b53e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001b53e;" goto statement_identifier ;) })) (expression_statement "piVar9[0x3b] = 1;" (assignment_expression "piVar9[0x3b] = 1" (subscript_expression "piVar9[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af9c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af9c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000296b0();" (call_expression "FUN_000296b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 0x49;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 0x49" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9 + 0x38;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9 + 0x38" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (binary_expression "piVar9 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1afac;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1afac" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_init();" (call_expression "gnutls_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar20 + -0xc) = piVar16[0x43];" (assignment_expression "*(int *)(puVar20 + -0xc) = piVar16[0x43]" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (subscript_expression "piVar16[0x43]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1afbf;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1afbf" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_priority_set();" (call_expression "gnutls_priority_set()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = *(int **)(puVar20 + -0xc);" (assignment_expression "piVar8 = *(int **)(puVar20 + -0xc)" identifier = (pointer_expression "*(int **)(puVar20 + -0xc)" * (cast_expression "(int **)(puVar20 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(puVar20 + -0xc) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0xc) = piVar9" (pointer_expression "*(int **)(puVar20 + -0xc)" * (cast_expression "(int **)(puVar20 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1afcd;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1afcd" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_session_set_ptr();" (call_expression "gnutls_session_set_ptr()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar12 = piVar16[0x44];" (assignment_expression "iVar12 = piVar16[0x44]" identifier = (subscript_expression "piVar16[0x44]" identifier [ number_literal ])) ;) (if_statement "if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }" if (parenthesized_expression "(iVar12 == 1)" ( (binary_expression "iVar12 == 1" identifier == number_literal) )) (compound_statement "{\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }" { (expression_statement "*(int *)(puVar20 + -8) = piVar16[0x45];" (assignment_expression "*(int *)(puVar20 + -8) = piVar16[0x45]" (pointer_expression "*(int *)(puVar20 + -8)" * (cast_expression "(int *)(puVar20 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (subscript_expression "piVar16[0x45]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b3dd" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_credentials_set();" (call_expression "gnutls_credentials_set()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);" statement_identifier : (expression_statement "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b39e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b39e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_transport_set_int2();" (call_expression "gnutls_transport_set_int2()" identifier (argument_list "()" ( ))) ;) (if_statement "if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }" if (parenthesized_expression "(piVar16[0x4e] != 0)" ( (binary_expression "piVar16[0x4e] != 0" (subscript_expression "piVar16[0x4e]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }" { (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b3bf" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_certificate_server_set_request();" (call_expression "gnutls_certificate_server_set_request()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0001ac50;" goto statement_identifier ;) })) (if_statement "if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }" if (parenthesized_expression "(iVar12 == 4)" ( (binary_expression "iVar12 == 4" identifier == number_literal) )) (compound_statement "{\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }" { (expression_statement "*(int *)(puVar20 + -8) = piVar16[0x47];" (assignment_expression "*(int *)(puVar20 + -8) = piVar16[0x47]" (pointer_expression "*(int *)(puVar20 + -8)" * (cast_expression "(int *)(puVar20 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (subscript_expression "piVar16[0x47]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 4;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 4" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b373;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b373" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_credentials_set();" (call_expression "gnutls_credentials_set()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + -0xcbb" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + -0xcbb" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x47];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x47]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar16[0x47]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b387;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b387" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_psk_set_server_credentials_function();" (call_expression "gnutls_psk_set_server_credentials_function()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001b38a;" goto statement_identifier ;) })) (expression_statement "*(int *)(puVar20 + -8) = iVar12;" (assignment_expression "*(int *)(puVar20 + -8) = iVar12" (pointer_expression "*(int *)(puVar20 + -8)" * (cast_expression "(int *)(puVar20 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;" (assignment_expression "*(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression ""gnutls_record_check_pending" + iVar4 + 5" (binary_expression ""gnutls_record_check_pending" + iVar4" (string_literal ""gnutls_record_check_pending"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[6];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[6]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[6]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1affb;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1affb" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = *(int **)(puVar20 + -0x10);" (assignment_expression "piVar8 = *(int **)(puVar20 + -0x10)" identifier = (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b005;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b005" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" identifier = (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b011;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b011" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar13 != 9) goto LAB_0001b01a;" if (parenthesized_expression "(*piVar13 != 9)" ( (binary_expression "*piVar13 != 9" (pointer_expression "*piVar13" * identifier) != number_literal) )) (goto_statement "goto LAB_0001b01a;" goto statement_identifier ;)) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x9c3;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x9c3" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b472;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b472" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar6 = extraout_EDX_01;" (assignment_expression "iVar6 = extraout_EDX_01" identifier = identifier) ;) (labeled_statement "LAB_0001b472:\n          piVar16[0xd] = iVar6;" statement_identifier : (expression_statement "piVar16[0xd] = iVar6;" (assignment_expression "piVar16[0xd] = iVar6" (subscript_expression "piVar16[0xd]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" identifier = identifier) ;) (goto_statement "goto LAB_0001b239;" goto statement_identifier ;) })) (labeled_statement "LAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;" statement_identifier : (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b029;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b029" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x15];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x15]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x15]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b034;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b034" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b03c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b03c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;" (assignment_expression "*(int *)(puVar20 + -0x14) = iVar4 + 0x106a0" (pointer_expression "*(int *)(puVar20 + -0x14)" * (cast_expression "(int *)(puVar20 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x106a0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x18) = 0x9c9;" (assignment_expression "*(undefined4 *)(puVar20 + -0x18) = 0x9c9" (pointer_expression "*(undefined4 *)(puVar20 + -0x18)" * (cast_expression "(undefined4 *)(puVar20 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x18)" ( (binary_expression "puVar20 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0x1c) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0x1c)" * (cast_expression "(int *)(puVar20 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x1c)" ( (binary_expression "puVar20 + -0x1c" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x20)" * (cast_expression "(undefined4 *)(puVar20 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x20)" ( (binary_expression "puVar20 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x24) = 0x1b05b;" (assignment_expression "*(undefined4 *)(puVar20 + -0x24) = 0x1b05b" (pointer_expression "*(undefined4 *)(puVar20 + -0x24)" * (cast_expression "(undefined4 *)(puVar20 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x24)" ( (binary_expression "puVar20 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = (int *)(*pcVar2)();" (assignment_expression "piVar13 = (int *)(*pcVar2)()" identifier = (cast_expression "(int *)(*pcVar2)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar20 = puVar20 + -0x20;" (assignment_expression "puVar20 = puVar20 + -0x20" identifier = (binary_expression "puVar20 + -0x20" identifier + number_literal)) ;) (labeled_statement "LAB_0001b05b:\n        *piVar13 = 2;" statement_identifier : (expression_statement "*piVar13 = 2;" (assignment_expression "*piVar13 = 2" (pointer_expression "*piVar13" * identifier) = number_literal) ;)) (expression_statement "piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);" (assignment_expression "piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4)" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (pointer_expression "*(int *)(*(int *)(puVar20 + 0xc) + 4)" * (cast_expression "(int *)(*(int *)(puVar20 + 0xc) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0xc) + 4)" ( (binary_expression "*(int *)(puVar20 + 0xc) + 4" (pointer_expression "*(int *)(puVar20 + 0xc)" * (cast_expression "(int *)(puVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xc)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar13 = piVar9;" (assignment_expression "piVar13 = piVar9" identifier = identifier) ;) (labeled_statement "LAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;" statement_identifier : (expression_statement "*(int **)(puVar20 + 0x18) = piVar8 + 0x25;" (assignment_expression "*(int **)(puVar20 + 0x18) = piVar8 + 0x25" (pointer_expression "*(int **)(puVar20 + 0x18)" * (cast_expression "(int **)(puVar20 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x18)" ( (binary_expression "puVar20 + 0x18" identifier + number_literal) )))) = (binary_expression "piVar8 + 0x25" identifier + number_literal)) ;)) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8 + 0x25;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8 + 0x25" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (binary_expression "piVar8 + 0x25" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b07e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b07e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "piVar9 = piVar13;" (assignment_expression "piVar9 = piVar13" identifier = identifier) ;) (if_statement "if (iVar12 != 0) goto LAB_0001b5ba;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b5ba;" goto statement_identifier ;)) (expression_statement "*(int *)(puVar20 + -8) = iVar4 + -0xceb;" (assignment_expression "*(int *)(puVar20 + -8) = iVar4 + -0xceb" (pointer_expression "*(int *)(puVar20 + -8)" * (cast_expression "(int *)(puVar20 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (binary_expression "iVar4 + -0xceb" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0xc) = piVar8 + 0x1e;" (assignment_expression "*(int **)(puVar20 + -0xc) = piVar8 + 0x1e" (pointer_expression "*(int **)(puVar20 + -0xc)" * (cast_expression "(int **)(puVar20 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "piVar8 + 0x1e" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b09d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b09d" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));" (assignment_expression "puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8))" identifier = (cast_expression "(undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8))" identifier (argument_list "(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void ***)(puVar20 + -0xc)" * (cast_expression "(void ***)(puVar20 + -0xc)" ( (type_descriptor "void ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(__compar_fn_t *)(puVar20 + -8)" * (cast_expression "(__compar_fn_t *)(puVar20 + -8)" ( (type_descriptor "__compar_fn_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) ))))) ;) (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" identifier = identifier) ;) (if_statement "if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }" if (parenthesized_expression "(puVar5 == (undefined4 *)0x0)" ( (binary_expression "puVar5 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }" { (expression_statement "*(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;" (assignment_expression "*(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression ""gnutls_record_get_direction" + iVar4 + 10" (binary_expression ""gnutls_record_get_direction" + iVar4" (string_literal ""gnutls_record_get_direction"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b120;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b120" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x18)" * (cast_expression "(undefined4 *)(puVar20 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x18)" ( (binary_expression "puVar20 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b12a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b12a" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }" { (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b13a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b13a" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001ab0a;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "piVar7 = (int *)*puVar5;" (assignment_expression "piVar7 = (int *)*puVar5" identifier = (cast_expression "(int *)*puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (if_statement "if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }" if (parenthesized_expression "(piVar13 != piVar7)" ( (binary_expression "piVar13 != piVar7" identifier != identifier) )) (compound_statement "{\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }" { (expression_statement "*(int **)(puVar20 + 0x1c) = piVar7;" (assignment_expression "*(int **)(puVar20 + 0x1c) = piVar7" (pointer_expression "*(int **)(puVar20 + 0x1c)" * (cast_expression "(int **)(puVar20 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1c)" ( (binary_expression "puVar20 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b0b7" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "piVar7 = *(int **)(puVar20 + 0x1c);" (assignment_expression "piVar7 = *(int **)(puVar20 + 0x1c)" identifier = (pointer_expression "*(int **)(puVar20 + 0x1c)" * (cast_expression "(int **)(puVar20 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1c)" ( (binary_expression "puVar20 + 0x1c" identifier + number_literal) ))))) ;) })) (if_statement "if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;" if (parenthesized_expression "((uint)piVar8[0x3d] <= (uint)piVar7[5])" ( (binary_expression "(uint)piVar8[0x3d] <= (uint)piVar7[5]" (cast_expression "(uint)piVar8[0x3d]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[0x3d]" identifier [ number_literal ])) <= (cast_expression "(uint)piVar7[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar7[5]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_0001b0f0;" goto statement_identifier ;)) (expression_statement "piVar7[5] = piVar7[5] + 1;" (assignment_expression "piVar7[5] = piVar7[5] + 1" (subscript_expression "piVar7[5]" identifier [ number_literal ]) = (binary_expression "piVar7[5] + 1" (subscript_expression "piVar7[5]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x18)" * (cast_expression "(undefined4 *)(puVar20 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x18)" ( (binary_expression "puVar20 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b0db;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b0db" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) }) while (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) ;) (do_statement "do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);" do (compound_statement "{\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b0eb;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b0eb" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a660();" (call_expression "FUN_0001a660()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);" statement_identifier : (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x18)" * (cast_expression "(undefined4 *)(puVar20 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x18)" ( (binary_expression "puVar20 + 0x18" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b0fc" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) }) while (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) ;) })) (labeled_statement "LAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;" statement_identifier : (expression_statement "*(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;" (assignment_expression "*(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression ""__fdelt_chk" + iVar4 + 7" (binary_expression ""__fdelt_chk" + iVar4" (string_literal ""__fdelt_chk"" " string_content ") + identifier) + number_literal)) ;)) (expression_statement "*(int **)(puVar21 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar21 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar21 + -0x10)" * (cast_expression "(int **)(puVar21 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1ab1a" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + 8)" * (cast_expression "(undefined4 *)(puVar21 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 8)" ( (binary_expression "puVar21 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1ab24;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1ab24" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar16 = (int *)close(*(int *)(puVar21 + -0x10));" (assignment_expression "piVar16 = (int *)close(*(int *)(puVar21 + -0x10))" identifier = (cast_expression "(int *)close(*(int *)(puVar21 + -0x10))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "close(*(int *)(puVar21 + -0x10))" identifier (argument_list "(*(int *)(puVar21 + -0x10))" ( (pointer_expression "*(int *)(puVar21 + -0x10)" * (cast_expression "(int *)(puVar21 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1ab2b" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;" if (parenthesized_expression "((piVar16 == (int *)0x0) || (*piVar7 != 9))" ( (binary_expression "(piVar16 == (int *)0x0) || (*piVar7 != 9)" (parenthesized_expression "(piVar16 == (int *)0x0)" ( (binary_expression "piVar16 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar7 != 9)" ( (binary_expression "*piVar7 != 9" (pointer_expression "*piVar7" * identifier) != number_literal) ))) )) (goto_statement "goto LAB_0001ab3b;" goto statement_identifier ;)) (labeled_statement "LAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar21 + -4)" * (cast_expression "(int *)(puVar21 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0x93d;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0x93d" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" identifier = (binary_expression "puVar21 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b55d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b55d" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar13 = piVar9;" (assignment_expression "piVar13 = piVar9" identifier = identifier) ;) (labeled_statement "LAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x950;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x950" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b57c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b57c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar20 + -0x10;" (assignment_expression "puVar20 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (labeled_statement "LAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x962;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x962" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b59b;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b59b" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) }) (else_clause "else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }" else (compound_statement "{\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x400;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x400" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = *(int **)(puVar20 + 8);" (assignment_expression "piVar8 = *(int **)(puVar20 + 8)" identifier = (pointer_expression "*(int **)(puVar20 + 8)" * (cast_expression "(int **)(puVar20 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(puVar20 + -8) = piVar8;" (assignment_expression "*(int **)(puVar20 + -8) = piVar8" (pointer_expression "*(int **)(puVar20 + -8)" * (cast_expression "(int **)(puVar20 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;" (assignment_expression "*(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression ""pthread_self" + iVar4 + 10" (binary_expression ""pthread_self" + iVar4" (string_literal ""pthread_self"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1adc7;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1adc7" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1adcf;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1adcf" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar16 = (int *)close(*(int *)(puVar20 + -0x10));" (assignment_expression "piVar16 = (int *)close(*(int *)(puVar20 + -0x10))" identifier = (cast_expression "(int *)close(*(int *)(puVar20 + -0x10))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1add6;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1add6" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }" if (parenthesized_expression "((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9))" ( (binary_expression "(piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)" (parenthesized_expression "(piVar16 == (int *)0x0)" ( (binary_expression "piVar16 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar21 = puVar20, *piVar7 != 9)" ( (comma_expression "puVar21 = puVar20, *piVar7 != 9" (assignment_expression "puVar21 = puVar20" identifier = identifier) , (binary_expression "*piVar7 != 9" (pointer_expression "*piVar7" * identifier) != number_literal)) ))) )) (compound_statement "{\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }" { (expression_statement "*piVar7 = 0x16;" (assignment_expression "*piVar7 = 0x16" (pointer_expression "*piVar7" * identifier) = number_literal) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) })))) (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar21 + -4)" * (cast_expression "(int *)(puVar21 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0x912;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0x912" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" identifier = (binary_expression "puVar21 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b5ba" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar9 = piVar13;" (assignment_expression "piVar9 = piVar13" identifier = identifier) ;) (labeled_statement "LAB_0001b5ba:\n  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;" statement_identifier : (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b5bf;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b5bf" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_0001a630();" (call_expression "FUN_0001a630()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" identifier = identifier) ;) (labeled_statement "LAB_0001b5bf:\n  *(int *)(puVar21 + -4) = iVar4 + 0xf615;" statement_identifier : (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0xf615;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0xf615" (pointer_expression "*(int *)(puVar21 + -4)" * (cast_expression "(int *)(puVar21 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf615" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0x9e4;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0x9e4" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" identifier = (binary_expression "puVar21 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b5de;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b5de" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b5de:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf615;" statement_identifier : (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf615;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf615" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf615" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xa5b;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xa5b" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b5fd" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar20 + -0x10;" (assignment_expression "puVar20 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (labeled_statement "LAB_0001b5fd:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf639;" statement_identifier : (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf639;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf639" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf639" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xa01;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xa01" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b61c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b61c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar20 + -0x10;" (assignment_expression "puVar20 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (labeled_statement "LAB_0001b61c:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x985;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x985" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b63b;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b63b" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar20 + -0x10;" (assignment_expression "puVar20 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (labeled_statement "LAB_0001b63b:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x971;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x971" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b65a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b65a" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = (*pcVar2)();" (assignment_expression "iVar12 = (*pcVar2)()" identifier = (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "*(int **)(puVar20 + -0x14) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x14) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x14)" * (cast_expression "(int **)(puVar20 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar20 + -0x18) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x18) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x18)" * (cast_expression "(int **)(puVar20 + -0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x18)" ( (binary_expression "puVar20 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar20 + -0x1c) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x1c) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x1c)" * (cast_expression "(int **)(puVar20 + -0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x1c)" ( (binary_expression "puVar20 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;" (assignment_expression "*(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4" (pointer_expression "*(undefined **)(puVar20 + -0x20)" * (cast_expression "(undefined **)(puVar20 + -0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x20)" ( (binary_expression "puVar20 + -0x20" identifier + number_literal) )))) = (binary_expression "&UNK_0001a3f5 + iVar4" (pointer_expression "&UNK_0001a3f5" & identifier) + identifier)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x24) = 0x1b66d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x24) = 0x1b66d" (pointer_expression "*(undefined4 *)(puVar20 + -0x24)" * (cast_expression "(undefined4 *)(puVar20 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x24)" ( (binary_expression "puVar20 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = *(int *)(puVar20 + -0x24);" (assignment_expression "iVar4 = *(int *)(puVar20 + -0x24)" identifier = (pointer_expression "*(int *)(puVar20 + -0x24)" * (cast_expression "(int *)(puVar20 + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x24)" ( (binary_expression "puVar20 + -0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar20 + -0x30)" * (cast_expression "(undefined4 *)(puVar20 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x30)" ( (binary_expression "puVar20 + -0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x50) = 0x1c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x50) = 0x1c" (pointer_expression "*(undefined4 *)(puVar20 + -0x50)" * (cast_expression "(undefined4 *)(puVar20 + -0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x50)" ( (binary_expression "puVar20 + -0x50" identifier + number_literal) )))) = number_literal) ;) (do_statement "do {\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  }" { (expression_statement "*(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x4c + uVar3) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x4c + uVar3)" * (cast_expression "(undefined4 *)(puVar20 + -0x4c + uVar3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x4c + uVar3)" ( (binary_expression "puVar20 + -0x4c + uVar3" (binary_expression "puVar20 + -0x4c" identifier + number_literal) + identifier) )))) = number_literal) ;) (expression_statement "uVar3 = uVar3 + 4;" (assignment_expression "uVar3 = uVar3 + 4" identifier = (binary_expression "uVar3 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 < 0x1c)" ( (binary_expression "uVar3 < 0x1c" identifier < number_literal) )) ;) (expression_statement "iVar6 = *(int *)(iVar12 + 0xc4);" (assignment_expression "iVar6 = *(int *)(iVar12 + 0xc4)" identifier = (pointer_expression "*(int *)(iVar12 + 0xc4)" * (cast_expression "(int *)(iVar12 + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc4)" ( (binary_expression "iVar12 + 0xc4" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (if_statement "if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))\n  goto LAB_0001b7c0;" if (parenthesized_expression "((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))" ( (binary_expression "(iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0')" (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) || (parenthesized_expression "(puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0')" ( (comma_expression "puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) , (binary_expression "*(char *)(iVar12 + 0xe1) != '\0'" (pointer_expression "*(char *)(iVar12 + 0xe1)" * (cast_expression "(char *)(iVar12 + 0xe1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xe1)" ( (binary_expression "iVar12 + 0xe1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_0001b7c0;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x80800;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x80800" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;" (assignment_expression "*(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50" (pointer_expression "*(undefined1 **)(puVar20 + -0x74)" * (cast_expression "(undefined1 **)(puVar20 + -0x74)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x74)" ( (binary_expression "puVar20 + -0x74" identifier + number_literal) )))) = (binary_expression "puVar20 + -0x50" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;" (assignment_expression "*(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c" (pointer_expression "*(undefined1 **)(puVar20 + -0x78)" * (cast_expression "(undefined1 **)(puVar20 + -0x78)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x78)" ( (binary_expression "puVar20 + -0x78" identifier + number_literal) )))) = (binary_expression "puVar20 + -0x4c" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x7c) = iVar6;" (assignment_expression "*(int *)(puVar20 + -0x7c) = iVar6" (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b6c8" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" * (cast_expression "(undefined4 *)(puVar20 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x80)" ( (binary_expression "puVar20 + -0x80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));" (assignment_expression "iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70))" identifier = (call_expression "accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70))" identifier (argument_list "(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70))" ( (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) , (pointer_expression "*(sockaddr **)(puVar20 + -0x78)" * (cast_expression "(sockaddr **)(puVar20 + -0x78)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x78)" ( (binary_expression "puVar20 + -0x78" identifier + number_literal) )))) , (pointer_expression "*(socklen_t **)(puVar20 + -0x74)" * (cast_expression "(socklen_t **)(puVar20 + -0x74)" ( (type_descriptor "socklen_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x74)" ( (binary_expression "puVar20 + -0x74" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar20 + -0x70)" * (cast_expression "(int *)(puVar20 + -0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) )))) ;) (expression_statement "puVar22 = puVar20 + -0x6c;" (assignment_expression "puVar22 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (if_statement "if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }" if (parenthesized_expression "((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0))" ( (binary_expression "(iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)" (parenthesized_expression "(iVar6 != -1)" ( (binary_expression "iVar6 != -1" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(puVar20 + -0x50) != 0)" ( (binary_expression "*(int *)(puVar20 + -0x50) != 0" (pointer_expression "*(int *)(puVar20 + -0x50)" * (cast_expression "(int *)(puVar20 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x50)" ( (binary_expression "puVar20 + -0x50" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }" { (expression_statement "*(undefined4 *)(puVar20 + -0x74) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0x74) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0x74)" * (cast_expression "(undefined4 *)(puVar20 + -0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x74)" ( (binary_expression "puVar20 + -0x74" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x78) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x78) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x78)" * (cast_expression "(undefined4 *)(puVar20 + -0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x78)" ( (binary_expression "puVar20 + -0x78" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);" (assignment_expression "*(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50)" (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) = (pointer_expression "*(int *)(puVar20 + -0x50)" * (cast_expression "(int *)(puVar20 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x50)" ( (binary_expression "puVar20 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b7f3" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" * (cast_expression "(undefined4 *)(puVar20 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x80)" ( (binary_expression "puVar20 + -0x80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a9e0();" (call_expression "FUN_0001a9e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001b7c2;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1b6e3" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar17 = *piVar13;" (assignment_expression "iVar17 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (if_statement "if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }" if (parenthesized_expression "((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16))" ( (binary_expression "(iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)" (parenthesized_expression "(iVar17 != 0x67)" ( (binary_expression "iVar17 != 0x67" identifier != number_literal) )) && (parenthesized_expression "(puVar21 = puVar20 + -0x6c, iVar17 != 0x16)" ( (comma_expression "puVar21 = puVar20 + -0x6c, iVar17 != 0x16" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) , (binary_expression "iVar17 != 0x16" identifier != number_literal)) ))) )) (compound_statement "{\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }" { (expression_statement "*(int **)(puVar20 + -0x60) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x60) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x60)" * (cast_expression "(int **)(puVar20 + -0x60)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }" if (parenthesized_expression "(iVar17 == 0xb)" ( (binary_expression "iVar17 == 0xb" identifier == number_literal) )) (compound_statement "{\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }" { (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (if_statement "if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }" if (parenthesized_expression "(iVar6 != -1)" ( (binary_expression "iVar6 != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }" { (expression_statement "*(int *)(puVar20 + -0x7c) = iVar6;" (assignment_expression "*(int *)(puVar20 + -0x7c) = iVar6" (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b80e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b80e" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" * (cast_expression "(undefined4 *)(puVar20 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x80)" ( (binary_expression "puVar20 + -0x80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar15 = close(*(int *)(puVar20 + -0x7c));" (assignment_expression "iVar15 = close(*(int *)(puVar20 + -0x7c))" identifier = (call_expression "close(*(int *)(puVar20 + -0x7c))" identifier (argument_list "(*(int *)(puVar20 + -0x7c))" ( (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) )))) ;) (expression_statement "piVar13 = *(int **)(puVar20 + -0x60);" (assignment_expression "piVar13 = *(int **)(puVar20 + -0x60)" identifier = (pointer_expression "*(int **)(puVar20 + -0x60)" * (cast_expression "(int **)(puVar20 + -0x60)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar20 + -0x6c;" (assignment_expression "puVar20 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (if_statement "if (iVar15 != 0) goto LAB_0001b819;" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b819;" goto statement_identifier ;)) })) }) (else_clause "else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }" else (compound_statement "{\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }" { (expression_statement "*(int *)(puVar20 + -0x7c) = iVar17;" (assignment_expression "*(int *)(puVar20 + -0x7c) = iVar17" (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b70d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b70d" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" * (cast_expression "(undefined4 *)(puVar20 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x80)" ( (binary_expression "puVar20 + -0x80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x7c));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x7c))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x7c))" identifier (argument_list "(*(int *)(puVar20 + -0x7c))" ( (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -0x74) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -0x74) = pcVar14" (pointer_expression "*(char **)(puVar20 + -0x74)" * (cast_expression "(char **)(puVar20 + -0x74)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x74)" ( (binary_expression "puVar20 + -0x74" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x78) = iVar4 + 0x10437;" (assignment_expression "*(int *)(puVar20 + -0x78) = iVar4 + 0x10437" (pointer_expression "*(int *)(puVar20 + -0x78)" * (cast_expression "(int *)(puVar20 + -0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x78)" ( (binary_expression "puVar20 + -0x78" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10437" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x7c) = iVar12;" (assignment_expression "*(int *)(puVar20 + -0x7c) = iVar12" (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b71e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b71e" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" * (cast_expression "(undefined4 *)(puVar20 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x80)" ( (binary_expression "puVar20 + -0x80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (if_statement "if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }" if (parenthesized_expression "(iVar6 != -1)" ( (binary_expression "iVar6 != -1" identifier != number_literal) )) (compound_statement "{\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }" { (while_statement "while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }" { (expression_statement "*(int *)(puVar22 + -0x10) = iVar6;" (assignment_expression "*(int *)(puVar22 + -0x10) = iVar6" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1b851;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1b851" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar15 = close(*(int *)(puVar22 + -0x10));" (assignment_expression "iVar15 = close(*(int *)(puVar22 + -0x10))" identifier = (call_expression "close(*(int *)(puVar22 + -0x10))" identifier (argument_list "(*(int *)(puVar22 + -0x10))" ( (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "piVar13 = *(int **)(puVar22 + 0xc);" (assignment_expression "piVar13 = *(int **)(puVar22 + 0xc)" identifier = (pointer_expression "*(int **)(puVar22 + 0xc)" * (cast_expression "(int **)(puVar22 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0xc)" ( (binary_expression "puVar22 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "puVar20 = puVar22;" (assignment_expression "puVar20 = puVar22" identifier = identifier) ;) (expression_statement "puVar21 = puVar22;" (assignment_expression "puVar21 = puVar22" identifier = identifier) ;) (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001b819:\n          puVar21 = puVar20;" statement_identifier : (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" identifier = identifier) ;)) (if_statement "if (*piVar13 != 9) break;" if (parenthesized_expression "(*piVar13 != 9)" ( (binary_expression "*piVar13 != 9" (pointer_expression "*piVar13" * identifier) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf9eb;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf9eb" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf9eb" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xc1a;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xc1a" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf9d7" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar20 + -0x10;" (assignment_expression "puVar22 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x199fb)" * (cast_expression "(undefined4 *)(iVar4 + 0x199fb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x199fb)" ( (binary_expression "iVar4 + 0x199fb" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x199ff);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x199ff)" identifier = (pointer_expression "*(code **)(iVar4 + 0x199ff)" * (cast_expression "(code **)(iVar4 + 0x199ff)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x199ff)" ( (binary_expression "iVar4 + 0x199ff" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b841;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b841" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) })) })) (if_statement "if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }" if (parenthesized_expression "((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2))" ( (binary_expression "(iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)" (parenthesized_expression "(iVar17 == 0xc || iVar17 == 0x69)" ( (binary_expression "iVar17 == 0xc || iVar17 == 0x69" (binary_expression "iVar17 == 0xc" identifier == number_literal) || (binary_expression "iVar17 == 0x69" identifier == number_literal)) )) || (parenthesized_expression "(iVar17 - 0x17U < 2)" ( (binary_expression "iVar17 - 0x17U < 2" (binary_expression "iVar17 - 0x17U" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }" { (if_statement "if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }" if (parenthesized_expression "(*(int *)(iVar12 + 0xe8) != 0)" ( (binary_expression "*(int *)(iVar12 + 0xe8) != 0" (pointer_expression "*(int *)(iVar12 + 0xe8)" * (cast_expression "(int *)(iVar12 + 0xe8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xe8)" ( (binary_expression "iVar12 + 0xe8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }" { (expression_statement "iVar17 = iVar12 + 0xac;" (assignment_expression "iVar17 = iVar12 + 0xac" identifier = (binary_expression "iVar12 + 0xac" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x10) = iVar17;" (assignment_expression "*(int *)(puVar21 + -0x10) = iVar17" (pointer_expression "*(int *)(puVar21 + -0x10)" * (cast_expression "(int *)(puVar21 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b75b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b75b" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));" (assignment_expression "iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10))" identifier = (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar21 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar21 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar21 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }" { (expression_statement "*(undefined1 *)(iVar12 + 0xe2) = 1;" (assignment_expression "*(undefined1 *)(iVar12 + 0xe2) = 1" (pointer_expression "*(undefined1 *)(iVar12 + 0xe2)" * (cast_expression "(undefined1 *)(iVar12 + 0xe2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xe2)" ( (binary_expression "iVar12 + 0xe2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0x10) = iVar17;" (assignment_expression "*(int *)(puVar21 + -0x10) = iVar17" (pointer_expression "*(int *)(puVar21 + -0x10)" * (cast_expression "(int *)(puVar21 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b776;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b776" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));" (assignment_expression "iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar21 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar21 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar21 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" identifier = identifier) ;) (if_statement "if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }" { (expression_statement "*(undefined4 *)(puVar21 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar21 + 0xc)" * (cast_expression "(undefined4 *)(puVar21 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0xc)" ( (binary_expression "puVar21 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);" (assignment_expression "*(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8)" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar12 + 0xe8)" * (cast_expression "(undefined4 *)(iVar12 + 0xe8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xe8)" ( (binary_expression "iVar12 + 0xe8" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10513;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10513" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10513" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x10)" * (cast_expression "(int *)(puVar21 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b79b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b79b" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar23 = *(undefined4 *)(puVar21 + 0xc);" (assignment_expression "uVar23 = *(undefined4 *)(puVar21 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(puVar21 + 0xc)" * (cast_expression "(undefined4 *)(puVar21 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0xc)" ( (binary_expression "puVar21 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001b7c2;" goto statement_identifier ;) })) }) (else_clause "else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }" else (compound_statement "{\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }" { (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0xe993;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0xe993" (pointer_expression "*(int *)(puVar21 + -4)" * (cast_expression "(int *)(puVar21 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xe993" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0xc2c;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0xc2c" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf9d7" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" identifier = (binary_expression "puVar21 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x199fb)" * (cast_expression "(undefined4 *)(iVar4 + 0x199fb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x199fb)" ( (binary_expression "iVar4 + 0x199fb" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x199ff);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x199ff)" identifier = (pointer_expression "*(code **)(iVar4 + 0x199ff)" * (cast_expression "(code **)(iVar4 + 0x199ff)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x199ff)" ( (binary_expression "iVar4 + 0x199ff" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b886;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b886" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) }))) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xe9b7;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xe9b7" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xe9b7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xc30;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xc30" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf9d7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x199fb)" * (cast_expression "(undefined4 *)(iVar4 + 0x199fb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x199fb)" ( (binary_expression "iVar4 + 0x199fb" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x199ff);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x199ff)" identifier = (pointer_expression "*(code **)(iVar4 + 0x199ff)" * (cast_expression "(code **)(iVar4 + 0x199ff)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x199ff)" ( (binary_expression "iVar4 + 0x199ff" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b8a5" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar24 = (*pcVar2)();" (assignment_expression "uVar24 = (*pcVar2)()" identifier = (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "iVar15 = (int)uVar24;" (assignment_expression "iVar15 = (int)uVar24" identifier = (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(int *)(puVar20 + -0x14) = iVar6;" (assignment_expression "*(int *)(puVar20 + -0x14) = iVar6" (pointer_expression "*(int *)(puVar20 + -0x14)" * (cast_expression "(int *)(puVar20 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x18) = iVar17;" (assignment_expression "*(int *)(puVar20 + -0x18) = iVar17" (pointer_expression "*(int *)(puVar20 + -0x18)" * (cast_expression "(int *)(puVar20 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x18)" ( (binary_expression "puVar20 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x1c) = iVar12;" (assignment_expression "*(int *)(puVar20 + -0x1c) = iVar12" (pointer_expression "*(int *)(puVar20 + -0x1c)" * (cast_expression "(int *)(puVar20 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x1c)" ( (binary_expression "puVar20 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x20) = iVar4 + 0x19773;" (assignment_expression "*(int *)(puVar20 + -0x20) = iVar4 + 0x19773" (pointer_expression "*(int *)(puVar20 + -0x20)" * (cast_expression "(int *)(puVar20 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x20)" ( (binary_expression "puVar20 + -0x20" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x19773" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;" (assignment_expression "*(undefined4 *)(puVar20 + -0x24) = 0x1b8bb" (pointer_expression "*(undefined4 *)(puVar20 + -0x24)" * (cast_expression "(undefined4 *)(puVar20 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x24)" ( (binary_expression "puVar20 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = *(int *)(puVar20 + -0x24);" (assignment_expression "iVar12 = *(int *)(puVar20 + -0x24)" identifier = (pointer_expression "*(int *)(puVar20 + -0x24)" * (cast_expression "(int *)(puVar20 + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x24)" ( (binary_expression "puVar20 + -0x24" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar15 + 0xc4);" (assignment_expression "iVar4 = *(int *)(iVar15 + 0xc4)" identifier = (pointer_expression "*(int *)(iVar15 + 0xc4)" * (cast_expression "(int *)(iVar15 + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc4)" ( (binary_expression "iVar15 + 0xc4" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);" (assignment_expression "*(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20)" (pointer_expression "*(int *)(puVar20 + -0x54)" * (cast_expression "(int *)(puVar20 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x54)" ( (binary_expression "puVar20 + -0x54" identifier + number_literal) )))) = (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar20 + -0x30)" * (cast_expression "(undefined4 *)(puVar20 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x30)" ( (binary_expression "puVar20 + -0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x40) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x40) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x40)" * (cast_expression "(undefined4 *)(puVar20 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x40)" ( (binary_expression "puVar20 + -0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x3c) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x3c) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x3c)" * (cast_expression "(undefined4 *)(puVar20 + -0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x3c)" ( (binary_expression "puVar20 + -0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x38)" * (cast_expression "(undefined4 *)(puVar20 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x38)" ( (binary_expression "puVar20 + -0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x34) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x34)" * (cast_expression "(undefined4 *)(puVar20 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x34)" ( (binary_expression "puVar20 + -0x34" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" if (parenthesized_expression "(iVar4 == -1)" ( (binary_expression "iVar4 == -1" identifier == number_literal) )) (compound_statement "{\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }" { (expression_statement "iVar17 = 1;" (assignment_expression "iVar17 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x58) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x58) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x58)" * (cast_expression "(undefined4 *)(puVar20 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) }) (else_clause "else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" else (if_statement "if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" if (parenthesized_expression "(*(char *)(iVar15 + 0xe1) == '\0')" ( (binary_expression "*(char *)(iVar15 + 0xe1) == '\0'" (pointer_expression "*(char *)(iVar15 + 0xe1)" * (cast_expression "(char *)(iVar15 + 0xe1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xe1)" ( (binary_expression "iVar15 + 0xe1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }" { (expression_statement "*(int *)(puVar20 + -0x40) = iVar4;" (assignment_expression "*(int *)(puVar20 + -0x40) = iVar4" (pointer_expression "*(int *)(puVar20 + -0x40)" * (cast_expression "(int *)(puVar20 + -0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x40)" ( (binary_expression "puVar20 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "iVar17 = 2;" (assignment_expression "iVar17 = 2" identifier = number_literal) ;) (expression_statement "*(undefined2 *)(puVar20 + -0x3c) = 1;" (assignment_expression "*(undefined2 *)(puVar20 + -0x3c) = 1" (pointer_expression "*(undefined2 *)(puVar20 + -0x3c)" * (cast_expression "(undefined2 *)(puVar20 + -0x3c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x3c)" ( (binary_expression "puVar20 + -0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x58) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0x58) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0x58)" * (cast_expression "(undefined4 *)(puVar20 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" else (compound_statement "{\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" { (expression_statement "*(undefined4 *)(puVar20 + -0x58) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x58) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x58)" * (cast_expression "(undefined4 *)(puVar20 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar17 = 1;" (assignment_expression "iVar17 = 1" identifier = number_literal) ;) (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) }))))) (expression_statement "uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;" (assignment_expression "uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000" identifier = (binary_expression "*(uint *)(iVar15 + 0xf8) & 0x2000" (pointer_expression "*(uint *)(iVar15 + 0xf8)" * (cast_expression "(uint *)(iVar15 + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xf8)" ( (binary_expression "iVar15 + 0xf8" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }" if (parenthesized_expression "(*(int *)(iVar15 + 0xdc) == -1)" ( (binary_expression "*(int *)(iVar15 + 0xdc) == -1" (pointer_expression "*(int *)(iVar15 + 0xdc)" * (cast_expression "(int *)(iVar15 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xdc)" ( (binary_expression "iVar15 + 0xdc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }" { (expression_statement "iVar17 = -1;" (assignment_expression "iVar17 = -1" identifier = number_literal) ;) (if_statement "if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -0x58) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar20 + -0x58) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar20 + -0x58)" * (cast_expression "(undefined4 *)(puVar20 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001ba92;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }" statement_identifier : (if_statement "if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x10;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x10" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" * (cast_expression "(undefined4 *)(puVar20 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);" (assignment_expression "*(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54)" (pointer_expression "*(int *)(puVar20 + -100)" * (cast_expression "(int *)(puVar20 + -100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -100)" ( (binary_expression "puVar20 + -100" identifier + number_literal) )))) = (unary_expression "-*(int *)(puVar20 + -0x54)" - (pointer_expression "*(int *)(puVar20 + -0x54)" * (cast_expression "(int *)(puVar20 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x54)" ( (binary_expression "puVar20 + -0x54" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(puVar20 + -0x68) = iVar4;" (assignment_expression "*(int *)(puVar20 + -0x68) = iVar4" (pointer_expression "*(int *)(puVar20 + -0x68)" * (cast_expression "(int *)(puVar20 + -0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x68)" ( (binary_expression "puVar20 + -0x68" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;" (assignment_expression "*(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40" (pointer_expression "*(undefined1 **)(puVar20 + -0x6c)" * (cast_expression "(undefined1 **)(puVar20 + -0x6c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) = (binary_expression "puVar20 + -0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1ba34;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1ba34" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = __poll_chk();" (assignment_expression "iVar4 = __poll_chk()" identifier = (call_expression "__poll_chk()" identifier (argument_list "()" ( )))) ;) (if_statement "if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }" { (if_statement "if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }" if (parenthesized_expression "(iVar17 != -1)" ( (binary_expression "iVar17 != -1" identifier != number_literal) )) (compound_statement "{\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }" { (expression_statement "*(int *)(puVar20 + -0x58) = iVar17;" (assignment_expression "*(int *)(puVar20 + -0x58) = iVar17" (pointer_expression "*(int *)(puVar20 + -0x58)" * (cast_expression "(int *)(puVar20 + -0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0001b975;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001b984;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;" statement_identifier : (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x1ba55;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x1ba55" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" * (cast_expression "(undefined4 *)(puVar20 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }" if (parenthesized_expression "(*piVar13 != 4)" ( (binary_expression "*piVar13 != 4" (pointer_expression "*piVar13" * identifier) != number_literal) )) (compound_statement "{\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }" { (expression_statement "*(int *)(puVar20 + -0x6c) = *piVar13;" (assignment_expression "*(int *)(puVar20 + -0x6c) = *piVar13" (pointer_expression "*(int *)(puVar20 + -0x6c)" * (cast_expression "(int *)(puVar20 + -0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1ba69;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1ba69" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x6c));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x6c))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x6c))" identifier (argument_list "(*(int *)(puVar20 + -0x6c))" ( (pointer_expression "*(int *)(puVar20 + -0x6c)" * (cast_expression "(int *)(puVar20 + -0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -100) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -100) = pcVar14" (pointer_expression "*(char **)(puVar20 + -100)" * (cast_expression "(char **)(puVar20 + -100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -100)" ( (binary_expression "puVar20 + -100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;" (assignment_expression "*(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7" (pointer_expression "*(int *)(puVar20 + -0x68)" * (cast_expression "(int *)(puVar20 + -0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x68)" ( (binary_expression "puVar20 + -0x68" identifier + number_literal) )))) = (binary_expression "iVar12 + 0xf7f7" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x6c) = iVar15;" (assignment_expression "*(int *)(puVar20 + -0x6c) = iVar15" (pointer_expression "*(int *)(puVar20 + -0x6c)" * (cast_expression "(int *)(puVar20 + -0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1ba7a" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001b9ad;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }" else (compound_statement "{\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }" { (expression_statement "*(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);" (assignment_expression "*(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc)" (pointer_expression "*(int *)(puVar20 + iVar4 * 8 + -0x40)" * (cast_expression "(int *)(puVar20 + iVar4 * 8 + -0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + iVar4 * 8 + -0x40)" ( (binary_expression "puVar20 + iVar4 * 8 + -0x40" (binary_expression "puVar20 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(int *)(iVar15 + 0xdc)" * (cast_expression "(int *)(iVar15 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xdc)" ( (binary_expression "iVar15 + 0xdc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;" (assignment_expression "*(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1" (pointer_expression "*(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c)" * (cast_expression "(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + iVar4 * 8 + -0x3c)" ( (binary_expression "puVar20 + iVar4 * 8 + -0x3c" (binary_expression "puVar20 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = iVar17;" (assignment_expression "iVar4 = iVar17" identifier = identifier) ;) (if_statement "if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }" { (labeled_statement "LAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;" statement_identifier : (expression_statement "*(int *)(puVar20 + -0x50) = iVar4;" (assignment_expression "*(int *)(puVar20 + -0x50) = iVar4" (pointer_expression "*(int *)(puVar20 + -0x50)" * (cast_expression "(int *)(puVar20 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x50)" ( (binary_expression "puVar20 + -0x50" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x1ba9d" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" * (cast_expression "(undefined4 *)(puVar20 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000190f0();" (call_expression "FUN_000190f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar4 = *(int *)(puVar20 + -0x50);" (assignment_expression "iVar4 = *(int *)(puVar20 + -0x50)" identifier = (pointer_expression "*(int *)(puVar20 + -0x50)" * (cast_expression "(int *)(puVar20 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x50)" ( (binary_expression "puVar20 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(puVar20 + -0x58);" (assignment_expression "iVar17 = *(int *)(puVar20 + -0x58)" identifier = (pointer_expression "*(int *)(puVar20 + -0x58)" * (cast_expression "(int *)(puVar20 + -0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001ba1c;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x10;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x10" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" * (cast_expression "(undefined4 *)(puVar20 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);" (assignment_expression "*(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54)" (pointer_expression "*(int *)(puVar20 + -100)" * (cast_expression "(int *)(puVar20 + -100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -100)" ( (binary_expression "puVar20 + -100" identifier + number_literal) )))) = (unary_expression "-*(int *)(puVar20 + -0x54)" - (pointer_expression "*(int *)(puVar20 + -0x54)" * (cast_expression "(int *)(puVar20 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x54)" ( (binary_expression "puVar20 + -0x54" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(puVar20 + -0x68) = iVar17;" (assignment_expression "*(int *)(puVar20 + -0x68) = iVar17" (pointer_expression "*(int *)(puVar20 + -0x68)" * (cast_expression "(int *)(puVar20 + -0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x68)" ( (binary_expression "puVar20 + -0x68" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;" (assignment_expression "*(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40" (pointer_expression "*(undefined1 **)(puVar20 + -0x6c)" * (cast_expression "(undefined1 **)(puVar20 + -0x6c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) = (binary_expression "puVar20 + -0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1b96a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1b96a" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = __poll_chk();" (assignment_expression "iVar4 = __poll_chk()" identifier = (call_expression "__poll_chk()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 < 0) goto LAB_0001ba50;" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0001ba50;" goto statement_identifier ;)) (labeled_statement "LAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }" statement_identifier : (if_statement "if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }" if (parenthesized_expression "((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0)" ( (binary_expression "(puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0" (parenthesized_expression "(puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1)" ( (binary_expression "puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1" (subscript_expression "puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a]" identifier [ (binary_expression "*(int *)(puVar20 + -0x58) * 8 + -0x3a" (binary_expression "*(int *)(puVar20 + -0x58) * 8" (pointer_expression "*(int *)(puVar20 + -0x58)" * (cast_expression "(int *)(puVar20 + -0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) )))) * number_literal) + number_literal) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -100) = 8;" (assignment_expression "*(undefined4 *)(puVar20 + -100) = 8" (pointer_expression "*(undefined4 *)(puVar20 + -100)" * (cast_expression "(undefined4 *)(puVar20 + -100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -100)" ( (binary_expression "puVar20 + -100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;" (assignment_expression "*(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c" (pointer_expression "*(undefined1 **)(puVar20 + -0x68)" * (cast_expression "(undefined1 **)(puVar20 + -0x68)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x68)" ( (binary_expression "puVar20 + -0x68" identifier + number_literal) )))) = (binary_expression "puVar20 + -0x4c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);" (assignment_expression "*(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc)" (pointer_expression "*(undefined4 *)(puVar20 + -0x6c)" * (cast_expression "(undefined4 *)(puVar20 + -0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar15 + 0xdc)" * (cast_expression "(undefined4 *)(iVar15 + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xdc)" ( (binary_expression "iVar15 + 0xdc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1bac5;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1bac5" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );" (call_expression "read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  )" identifier (argument_list "(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  )" ( (pointer_expression "*(int *)(puVar20 + -0x6c)" * (cast_expression "(int *)(puVar20 + -0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar20 + -0x68)" * (cast_expression "(void **)(puVar20 + -0x68)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x68)" ( (binary_expression "puVar20 + -0x68" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar20 + -100)" * (cast_expression "(size_t *)(puVar20 + -100)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -100)" ( (binary_expression "puVar20 + -100" identifier + number_literal) )))) ))) ;) }))) (labeled_statement "LAB_0001b984:\n            uVar23 = 0;" statement_identifier : (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;)) (if_statement "if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;" if (parenthesized_expression "(*(char *)(iVar15 + 0xe0) != '\0')" ( (binary_expression "*(char *)(iVar15 + 0xe0) != '\0'" (pointer_expression "*(char *)(iVar15 + 0xe0)" * (cast_expression "(char *)(iVar15 + 0xe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xe0)" ( (binary_expression "iVar15 + 0xe0" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001b9ad;" goto statement_identifier ;)) (if_statement "if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }" if (parenthesized_expression "((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0))" ( (binary_expression "(iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)" (parenthesized_expression "(iVar6 != -1)" ( (binary_expression "iVar6 != -1" identifier != number_literal) )) && (parenthesized_expression "((puVar20[-0x3a] & 1) != 0)" ( (binary_expression "(puVar20[-0x3a] & 1) != 0" (parenthesized_expression "(puVar20[-0x3a] & 1)" ( (binary_expression "puVar20[-0x3a] & 1" (subscript_expression "puVar20[-0x3a]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x1b9a4" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" * (cast_expression "(undefined4 *)(puVar20 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001b660();" (call_expression "FUN_0001b660()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }" statement_identifier : (if_statement "if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }" if (parenthesized_expression "(*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar20 + -0x30)" * (cast_expression "(int *)(puVar20 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x30)" ( (binary_expression "puVar20 + -0x30" identifier + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }" { comment (expression_statement "*(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;" (assignment_expression "*(undefined **)(puVar20 + -0x60) = &UNK_0001bad2" (pointer_expression "*(undefined **)(puVar20 + -0x60)" * (cast_expression "(undefined **)(puVar20 + -0x60)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = (pointer_expression "&UNK_0001bad2" & identifier)) ;) (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar23;" return identifier ;) })) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10457;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10457" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10457" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x10)" * (cast_expression "(int *)(puVar21 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b7b8" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) })) }))) })) (labeled_statement "LAB_0001b7c0:\n  uVar23 = 0;" statement_identifier : (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0001b7c2:\n  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }" statement_identifier : (if_statement "if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }" if (parenthesized_expression "(*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar21 + 0x3c)" * (cast_expression "(int *)(puVar21 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3c)" ( (binary_expression "puVar21 + 0x3c" identifier + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }" { comment (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x1b867;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x1b867" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar23;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */\n/* WARNING: Enum "gnutls_pk_algorithm_t": Some values do not have unique names */\n/* WARNING: Enum "gnutls_certificate_type_t": Some values do not have unique names */\n\nvoid __regparm3 MHD_ip_limit_del(MHD_Daemon *daemon,sockaddr *addr,socklen_t addrlen)\n\n{\n  MHD_mutex_ *pMVar1;\n  MHD_AcceptPolicyCallback p_Var2;\n  socklen_t sVar3;\n  MHD_NotifyConnectionCallback p_Var4;\n  MHD_thread_ID_ MVar5;\n  MHD_AccessHandlerCallback p_Var6;\n  gnutls_credentials_type_t gVar7;\n  int iVar8;\n  uint uVar9;\n  MHD_Daemon *pMVar10;\n  undefined4 *puVar11;\n  int iVar12;\n  int *piVar13;\n  MHD_Daemon *pMVar14;\n  MHD_Connection *pMVar15;\n  MemoryPool *pMVar16;\n  sockaddr *psVar17;\n  time_t tVar18;\n  MHD_Connection *pMVar19;\n  undefined4 *puVar20;\n  MHD_Connection *pMVar21;\n  ssize_t sVar22;\n  MHD_Daemon *pMVar23;\n  char *pcVar24;\n  int iVar25;\n  MHD_FLAG MVar26;\n  undefined4 extraout_ECX;\n  int iVar27;\n  __compar_fn_t extraout_EDX;\n  code *pcVar28;\n  uint extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  MHD_Connection *extraout_EDX_02;\n  int iVar29;\n  undefined1 *puVar30;\n  undefined4 *puVar31;\n  undefined1 *puVar32;\n  undefined4 *puVar33;\n  undefined1 *puVar34;\n  undefined1 *puVar35;\n  int in_GS_OFFSET;\n  undefined8 uVar36;\n  byte abStack_29e [450];\n  size_t asStack_dc [5];\n  socklen_t sStack_c8;\n  int iStack_c4;\n  uint auStack_c0 [6];\n  byte abStack_a8 [4];\n  int aiStack_a4 [18];\n  MHD_Daemon *in_stack_ffffffb4;\n  MHD_IPCount search_key;\n  \n  iVar29 = *(int *)(in_GS_OFFSET + 0x14);\n  do {\n    pMVar14 = daemon;\n    daemon = pMVar14->master;\n  } while (pMVar14->master != (MHD_Daemon *)0x0);\n  if (pMVar14->per_ip_connection_limit == 0) {\nLAB_0001a89b:\n    if (iVar29 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }\n    return;\n  }\n  pMVar19 = (MHD_Connection *)&search_key;\n  uVar9 = 0;\n  do {\n    *(undefined4 *)((int)&pMVar19->nextE + uVar9) = 0;\n    uVar9 = uVar9 + 4;\n  } while (uVar9 < 0x18);\n  if (addrlen == 0x10) {\n    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 2);\n    search_key.family = 2;\n  }\n  else {\n    if (addrlen != 0x1c) goto LAB_0001a89b;\n    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 6);\n    search_key.family = 10;\n    search_key.addr._4_4_ = *(undefined4 *)(addr->sa_data + 10);\n    search_key.addr._8_2_ = addr[1].sa_family;\n    search_key.addr._10_1_ = addr[1].sa_data[0];\n    search_key.addr._11_1_ = addr[1].sa_data[1];\n    search_key.addr._12_4_ = *(undefined4 *)(addr[1].sa_data + 2);\n  }\n  pMVar1 = &pMVar14->per_ip_connection_mutex;\n  pMVar10 = (MHD_Daemon *)pthread_mutex_lock((pthread_mutex_t *)pMVar1);\n  puVar31 = (undefined4 *)&stack0xffffffb4;\n  if (pMVar10 == (MHD_Daemon *)0x0) {\n    pcVar28 = MHD_ip_addr_compare;\n    pMVar14 = (MHD_Daemon *)&pMVar14->per_ip_connection_count;\n    puVar11 = (undefined4 *)tfind(pMVar19,(void **)pMVar14,MHD_ip_addr_compare);\n    puVar30 = &stack0xffffffb4;\n    if (puVar11 != (undefined4 *)0x0) {\n      pMVar19 = (MHD_Connection *)*puVar11;\n      if (pMVar19->prevX != (MHD_Connection *)0x0) {\n        puVar32 = &pMVar19->prevX[-1].field_0xfb;\n        pMVar19->prevX = (MHD_Connection *)puVar32;\n        if (puVar32 == (undefined1 *)0x0) goto LAB_0001a978;\n        while (iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0) {\n          MHD_ip_count_unlock(in_stack_ffffffb4);\n          pcVar28 = extraout_EDX;\nLAB_0001a978:\n          tdelete(pMVar19,(void **)pMVar14,pcVar28);\n          free(pMVar19);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar30 = &stack0xffffffa4;\n      (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1e2,\n                   "Previously-added IP address had counter of zero\n");\n    }\n    *(char **)(puVar30 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar30 + -8) = 0x1dc;\n    *(char **)(puVar30 + -0xc) = "daemon.c";\n    puVar31 = (undefined4 *)(puVar30 + -0x10);\n    *(void **)(puVar30 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar30 + -0x14) = 0x1a9d3;\n    pMVar10 = (MHD_Daemon *)\n              (*mhd_panic)(*(void **)(puVar30 + -0x10),*(char **)(puVar30 + -0xc),\n                           *(uint *)(puVar30 + -8),*(char **)(puVar30 + -4));\n  }\n  puVar31[-1] = 0x1a9d8;\n  MHD_ip_count_lock((MHD_Daemon *)*puVar31);\n  puVar31[-1] = pMVar19;\n  puVar31[-2] = pMVar1;\n  puVar31[-3] = pMVar14;\n  puVar31[-4] = &_GLOBAL_OFFSET_TABLE_;\n  puVar31[-5] = 0x1a9eb;\n  iVar29 = puVar31[-5];\n  puVar31[-0x10] = extraout_ECX;\n  puVar31[-0x11] = extraout_EDX_00;\n  puVar31[-0xf] = puVar31[3];\n  puVar31[-0xe] = puVar31[2];\n  puVar31[-8] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar11 = puVar31 + -0x13;\n  if (((char)puVar31[2] != '\0') &&\n     (pMVar14 = pMVar10->worker_pool, puVar11 = puVar31 + -0x13, pMVar14 != (MHD_Daemon *)0x0)) {\n    uVar9 = pMVar10->worker_pool_size;\n    if (uVar9 != 0) {\n      pMVar10 = pMVar14 + extraout_EDX_00 % uVar9;\n      if (pMVar10->connection_limit <= pMVar10->connections) {\n        pMVar15 = (MHD_Connection *)puVar31[-0x11];\n        pMVar19 = (MHD_Connection *)((int)&pMVar15->nextE + uVar9);\n        do {\n          pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);\n          if (pMVar19 == pMVar15) goto LAB_0001aa90;\n          pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;\n        } while (pMVar10->connection_limit <= pMVar10->connections);\n      }\n      puVar31[-0x15] = (uint)*(byte *)(puVar31 + -0xf);\n      puVar31[-0x16] = 1;\n      puVar31[-0x17] = puVar31[1];\n      puVar31[-0x18] = 0x1ae14;\n      internal_add_connection\n                (pMVar10,puVar31[-0x11],(sockaddr *)puVar31[-0x10],puVar31[-0x17],\n                 *(_Bool *)(puVar31 + -0x16),*(_Bool *)(puVar31 + -0x15));\n      puVar11 = puVar31 + -0x13;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar11 = puVar31 + -0x17;\n    puVar31[-0x17] = puVar31[-0x11];\n    puVar31[-0x18] = 0x1aa9c;\n    pMVar10 = (MHD_Daemon *)close(puVar31[-0x17]);\n    puVar31[-0x18] = 0x1aaa3;\n    piVar13 = __errno_location();\n    puVar33 = puVar31 + -0x13;\n    if ((pMVar10 != (MHD_Daemon *)0x0) && (puVar33 = puVar31 + -0x13, *piVar13 == 9)) {\n      puVar31[-0x14] = iVar29 + 0x1066d;\n      puVar31[-0x15] = 0x900;\n      puVar31[-0x16] = iVar29 + 0x10659;\n      puVar31[-0x17] = *(undefined4 *)(iVar29 + 0x1a67d);\n      pcVar28 = *(code **)(iVar29 + 0x1a681);\n      puVar31[-0x18] = 0x1aad6;\n      (*pcVar28)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar11 = puVar33;\n    *piVar13 = 0x17;\nLAB_0001ab43:\n    if (*(int *)((int)puVar11 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)puVar11 + -4) = 0x1b4e1;\n      __stack_chk_fail_local();\n    }\n    return;\n  }\nLAB_0001aae0:\n  if ((*(int *)((int)puVar11 + 8) < 0x400) ||\n     ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n    puVar33 = puVar11;\n    pMVar15 = pMVar19;\n    pMVar14 = pMVar10;\n    pMVar23 = pMVar10;\n    if (pMVar10->connections != pMVar10->connection_limit) {\n      do {\n        pMVar14 = pMVar23;\n        pMVar23 = pMVar14->master;\n      } while (pMVar14->master != (MHD_Daemon *)0x0);\n      if (pMVar14->per_ip_connection_limit != 0) {\n        *(undefined4 *)((int)puVar11 + -0xc) = 1;\n        *(undefined4 *)((int)puVar11 + -0x10) = 0x18;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c;\n        pMVar19 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        pMVar15 = pMVar19;\n        if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001ab0a;\n        if (*(int *)((int)puVar11 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)((int)puVar11 + 0x50) == 0x1c) {\n          iVar12 = *(int *)((int)puVar11 + 0xc);\n          pMVar19->nextE = (MHD_Connection *)0xa;\n          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);\n          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);\n          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);\n          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);\n          pMVar19->nextX = pMVar15;\n          goto LAB_0001b06b;\n        }\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8;\n        free(*(void **)((int)puVar11 + -0x10));\n      }\n      do {\n        p_Var2 = pMVar10->apc;\n        if (p_Var2 != (MHD_AcceptPolicyCallback)0x0) {\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;\n          pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));\n          if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)((int)puVar11 + -0xc) = 0xfc;\n        *(undefined4 *)((int)puVar11 + -0x10) = 1;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa;\n        pMVar15 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        if (pMVar15 == (MHD_Connection *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          pMVar19 = (MHD_Connection *)pMVar14->default_handler;\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;\n          goto LAB_0001ab43;\n        }\n        *(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2;\n        pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->pool = pMVar16;\n        if (pMVar16 == (MemoryPool *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;\n          goto LAB_0001ab43;\n        }\n        pMVar15->connection_timeout = pMVar10->connection_timeout;\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8;\n        psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->addr = psVar17;\n        if (psVar17 == (sockaddr *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          p_Var6 = pMVar14->default_handler;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;\n          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n        puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n        *(sockaddr **)((int)puVar11 + -0x10) = psVar17;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        sVar3 = *(socklen_t *)((int)puVar11 + 0x50);\n        pMVar15->daemon = pMVar10;\n        pMVar15->addr_len = sVar3;\n        pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8);\n        pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e;\n        tVar18 = MHD_monotonic_sec_counter();\n        pMVar15->last_activity = tVar18;\n        if ((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG) {\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;\n          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));\nLAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;\n          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n          puVar33 = puVar11;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }\n          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n          *(undefined4 *)((int)puVar11 + -8) = 0xa67;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          puVar33 = (undefined4 *)((int)puVar11 + -0x10);\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;\n          (*pcVar28)();\n          goto LAB_0001b53e;\n        }\n        pMVar15->tls_state = MHD_TLS_CONN_INIT;\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c;\n        MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10));\n        *(undefined4 *)((int)puVar11 + -0xc) = 0x49;\n        *(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc);\n        *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        gVar7 = pMVar10->cred_type;\n        if (gVar7 == GNUTLS_CRD_CERTIFICATE) {\n          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 1;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (gVar7 == GNUTLS_CRD_PSK) {\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 4;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7;\n        *(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5;\n        *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1affb;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10);\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)((int)puVar11 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;\n          (*pcVar28)();\n          pMVar21 = extraout_EDX_02;\nLAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;\n          puVar11 = (undefined4 *)puVar32;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)((int)puVar11 + -4) = 0x1b029;\n        MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50));\n        *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b034;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0;\n        *(undefined4 *)((int)puVar11 + -0x18) = 0x9c9;\n        *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659;\n        *(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d);\n        pcVar28 = *(code **)(iVar29 + 0x1a681);\n        *(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b;\n        pMVar19 = (MHD_Connection *)(*pcVar28)();\n        puVar11 = (undefined4 *)((int)puVar11 + -0x20);\nLAB_0001b05b:\n        pMVar19->nextE = (MHD_Connection *)0x2;\n        (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =\n             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4);\n        pMVar19 = pMVar15;\nLAB_0001b06b:\n        puVar11[6] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-4] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-5] = 0x1b07e;\n        iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4]);\n        pMVar15 = pMVar19;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        puVar11[-2] = iVar29 + -0xceb;\n        puVar11[-3] = &pMVar14->per_ip_connection_count;\n        puVar11[-4] = pMVar19;\n        puVar11[-5] = 0x1b09d;\n        puVar20 = (undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2]);\n        puVar33 = puVar11;\n        if (puVar20 == (undefined4 *)0x0) {\n          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;\n          puVar11[-4] = pMVar14;\n          puVar11[-5] = 0x1b120;\n          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);\n          puVar11[-4] = puVar11[6];\n          puVar11[-5] = 0x1b12a;\n          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n          if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        pMVar21 = (MHD_Connection *)*puVar20;\n        if (pMVar19 != pMVar21) {\n          puVar11[7] = pMVar21;\n          puVar11[-4] = pMVar19;\n          puVar11[-5] = 0x1b0b7;\n          free((void *)puVar11[-4]);\n          pMVar21 = (MHD_Connection *)puVar11[7];\n        }\n        if ((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX) goto LAB_0001b0f0;\n        pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1);\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0db;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 == 0);\n      do {\n        puVar11[-1] = 0x1b0eb;\n        MHD_ip_count_unlock((MHD_Daemon *)*puVar11);\nLAB_0001b0f0:\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)((int)puVar33 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n    *(MHD_Daemon **)((int)puVar33 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab1a;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar33 + -0x10),*(char **)((int)puVar33 + -0xc));\n    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)((int)puVar33 + 8);\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab24;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar33 + -0x10));\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab2b;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (*piVar13 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)((int)puVar33 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar33 + -8) = 0x93d;\n    *(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;\n    puVar11 = (undefined4 *)((int)puVar33 + -0x10);\n    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1b55d;\n    (*pcVar28)();\n    pMVar19 = pMVar15;\nLAB_0001b55d:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar11 + -8) = 0x950;\n    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b57c;\n    (*pcVar28)();\n    puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b57c:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar11 + -8) = 0x962;\n    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b59b;\n    (*pcVar28)();\n    puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n  }\n  else {\n    *(undefined4 *)((int)puVar11 + -4) = 0x400;\n    pMVar14 = *(MHD_Daemon **)((int)puVar11 + 8);\n    *(MHD_Daemon **)((int)puVar11 + -8) = pMVar14;\n    *(char **)((int)puVar11 + -0xc) = "pthread_self" + iVar29 + 10;\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adc7;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adcf;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar11 + -0x10));\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1add6;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (puVar32 = (undefined1 *)puVar11, *piVar13 != 9)) {\n      *piVar13 = 0x16;\n      goto LAB_0001ab43;\n    }\n  }\n  *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n  *(undefined4 *)(puVar32 + -8) = 0x912;\n  *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n  puVar11 = (undefined4 *)(puVar32 + -0x10);\n  *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)(puVar32 + -0x14) = 0x1b5ba;\n  (*pcVar28)();\n  pMVar15 = pMVar19;\nLAB_0001b5ba:\n  puVar11[-1] = 0x1b5bf;\n  MHD_ip_count_lock((MHD_Daemon *)*puVar11);\n  puVar33 = puVar11;\nLAB_0001b5bf:\n  *(int *)((int)puVar33 + -4) = iVar29 + 0xf615;\n  *(undefined4 *)((int)puVar33 + -8) = 0x9e4;\n  *(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;\n  puVar11 = (undefined4 *)((int)puVar33 + -0x10);\n  *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar33 + -0x14) = 0x1b5de;\n  (*pcVar28)();\nLAB_0001b5de:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0xf615;\n  *(undefined4 *)((int)puVar11 + -8) = 0xa5b;\n  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b5fd;\n  (*pcVar28)();\n  puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b5fd:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n  *(undefined4 *)((int)puVar11 + -8) = 0xa01;\n  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b61c;\n  (*pcVar28)();\n  puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b61c:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n  *(undefined4 *)((int)puVar11 + -8) = 0x985;\n  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b63b;\n  (*pcVar28)();\n  puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b63b:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n  *(undefined4 *)((int)puVar11 + -8) = 0x971;\n  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b65a;\n  pMVar23 = (MHD_Daemon *)(*pcVar28)();\n  *(MHD_Connection **)((int)puVar11 + -0x14) = pMVar15;\n  *(MHD_Daemon **)((int)puVar11 + -0x18) = pMVar14;\n  *(MHD_Daemon **)((int)puVar11 + -0x1c) = pMVar10;\n  *(int *)((int)puVar11 + -0x20) = iVar29 + 0x1a3f5;\n  *(undefined4 *)((int)puVar11 + -0x24) = 0x1b66d;\n  iVar29 = *(int *)((int)puVar11 + -0x24);\n  *(undefined4 *)((int)puVar11 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  uVar9 = 0;\n  *(undefined4 *)((int)puVar11 + -0x50) = 0x1c;\n  psVar17 = (sockaddr *)((int)puVar11 + -0x4c);\n  do {\n    pcVar24 = psVar17->sa_data + (uVar9 - 2);\n    pcVar24[0] = '\0';\n    pcVar24[1] = '\0';\n    pcVar24[2] = '\0';\n    pcVar24[3] = '\0';\n    uVar9 = uVar9 + 4;\n  } while (uVar9 < 0x1c);\n  iVar12 = pMVar23->listen_fd;\n  puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n  if ((iVar12 == -1) ||\n     (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), pMVar23->was_quiesced != false)) {\nLAB_0001b7c2:\n    if (*(int *)(puVar32 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar32 + -4) = 0x1b867;\n      __stack_chk_fail_local();\n    }\n    return;\n  }\n  *(undefined4 *)((int)puVar11 + -0x70) = 0x80800;\n  *(undefined1 **)((int)puVar11 + -0x74) = (undefined1 *)((int)puVar11 + -0x50);\n  *(sockaddr **)((int)puVar11 + -0x78) = psVar17;\n  *(int *)((int)puVar11 + -0x7c) = iVar12;\n  *(undefined4 *)((int)puVar11 + -0x80) = 0x1b6c8;\n  iVar12 = accept4(*(int *)((int)puVar11 + -0x7c),*(sockaddr **)((int)puVar11 + -0x78),\n                   *(socklen_t **)((int)puVar11 + -0x74),*(int *)((int)puVar11 + -0x70));\n  puVar35 = (undefined1 *)((int)puVar11 + -0x6c);\n  if ((iVar12 != -1) && (*(int *)((int)puVar11 + -0x50) != 0)) {\n    *(undefined4 *)((int)puVar11 + -0x74) = 1;\n    *(undefined4 *)((int)puVar11 + -0x78) = 0;\n    *(int *)((int)puVar11 + -0x7c) = *(int *)((int)puVar11 + -0x50);\n    *(undefined4 *)((int)puVar11 + -0x80) = 0x1b7f3;\n    internal_add_connection\n              (pMVar23,iVar12,psVar17,*(socklen_t *)((int)puVar11 + -0x7c),\n               *(_Bool *)((int)puVar11 + -0x78),*(_Bool *)((int)puVar11 + -0x74));\n    puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n    goto LAB_0001b7c2;\n  }\n  *(undefined4 *)((int)puVar11 + -0x70) = 0x1b6e3;\n  piVar13 = __errno_location();\n  iVar25 = *piVar13;\n  puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n  if ((iVar25 == 0x67) || (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), iVar25 == 0x16))\n  goto LAB_0001b7c2;\n  *(int **)((int)puVar11 + -0x60) = piVar13;\n  if (iVar25 == 0xb) {\n    puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n    if (iVar12 != -1) {\n      *(int *)((int)puVar11 + -0x7c) = iVar12;\n      *(undefined4 *)((int)puVar11 + -0x80) = 0x1b80e;\n      iVar27 = close(*(int *)((int)puVar11 + -0x7c));\n      piVar13 = *(int **)((int)puVar11 + -0x60);\n      puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n      puVar34 = (undefined1 *)((int)puVar11 + -0x6c);\n      if (iVar27 != 0) goto LAB_0001b819;\n    }\n    goto LAB_0001b7c2;\n  }\n  *(int *)((int)puVar11 + -0x7c) = iVar25;\n  *(undefined4 *)((int)puVar11 + -0x80) = 0x1b70d;\n  pcVar24 = strerror(*(int *)((int)puVar11 + -0x7c));\n  *(char **)((int)puVar11 + -0x74) = pcVar24;\n  *(int *)((int)puVar11 + -0x78) = iVar29 + 0x10437;\n  *(MHD_Daemon **)((int)puVar11 + -0x7c) = pMVar23;\n  *(undefined4 *)((int)puVar11 + -0x80) = 0x1b71e;\n  MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x7c),*(char **)((int)puVar11 + -0x78));\n  puVar34 = (undefined1 *)((int)puVar11 + -0x6c);\n  if (iVar12 != -1) {\n    while( true ) {\n      *(int *)(puVar35 + -0x10) = iVar12;\n      *(undefined4 *)(puVar35 + -0x14) = 0x1b851;\n      iVar27 = close(*(int *)(puVar35 + -0x10));\n      piVar13 = *(int **)(puVar35 + 0xc);\n      puVar34 = puVar35;\n      if (iVar27 == 0) break;\nLAB_0001b819:\n      if (*piVar13 != 9) break;\n      *(int *)(puVar34 + -4) = iVar29 + 0xf9eb;\n      *(undefined4 *)(puVar34 + -8) = 0xc1a;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n      puVar35 = puVar34 + -0x10;\n      *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n      pcVar28 = *(code **)(iVar29 + 0x199ff);\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b841;\n      (*pcVar28)();\n    }\n  }\n  puVar32 = puVar34;\n  if ((iVar25 != 0xc && iVar25 != 0x69) && (1 < iVar25 - 0x17U)) goto LAB_0001b7c2;\n  if (pMVar23->connections == 0) {\n    *(int *)(puVar34 + -0xc) = iVar29 + 0x10457;\n    *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b7b8;\n    MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));\n    goto LAB_0001b7c2;\n  }\n  pMVar1 = &pMVar23->cleanup_connection_mutex;\n  *(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1;\n  *(undefined4 *)(puVar34 + -0x14) = 0x1b75b;\n  iVar25 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar34 + -0x10));\n  if (iVar25 == 0) {\n    pMVar23->at_limit = true;\n    *(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1;\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b776;\n    iVar25 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar34 + -0x10));\n    if (iVar25 == 0) {\n      *(undefined4 *)(puVar34 + 0xc) = 0;\n      *(uint *)(puVar34 + -8) = pMVar23->connections;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0x10513;\n      *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b79b;\n      MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));\n      goto LAB_0001b7c2;\n    }\n  }\n  else {\n    *(int *)(puVar34 + -4) = iVar29 + 0xe993;\n    *(undefined4 *)(puVar34 + -8) = 0xc2c;\n    *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n    puVar32 = puVar34 + -0x10;\n    *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n    pcVar28 = *(code **)(iVar29 + 0x199ff);\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b886;\n    (*pcVar28)();\n  }\n  *(int *)(puVar32 + -4) = iVar29 + 0xe9b7;\n  *(undefined4 *)(puVar32 + -8) = 0xc30;\n  *(int *)(puVar32 + -0xc) = iVar29 + 0xf9d7;\n  *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n  pcVar28 = *(code **)(iVar29 + 0x199ff);\n  *(undefined4 *)(puVar32 + -0x14) = 0x1b8a5;\n  uVar36 = (*pcVar28)();\n  pMVar14 = (MHD_Daemon *)uVar36;\n  *(int *)(puVar32 + -0x14) = iVar12;\n  *(MHD_mutex_ **)(puVar32 + -0x18) = pMVar1;\n  *(MHD_Daemon **)(puVar32 + -0x1c) = pMVar23;\n  *(int *)(puVar32 + -0x20) = iVar29 + 0x19773;\n  *(undefined4 *)(puVar32 + -0x24) = 0x1b8bb;\n  iVar12 = *(int *)(puVar32 + -0x24);\n  iVar29 = pMVar14->listen_fd;\n  *(int *)(puVar32 + -0x54) = (int)((ulonglong)uVar36 >> 0x20);\n  *(undefined4 *)(puVar32 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  *(undefined4 *)(puVar32 + -0x40) = 0;\n  *(undefined4 *)(puVar32 + -0x3c) = 0;\n  *(undefined4 *)(puVar32 + -0x38) = 0;\n  *(undefined4 *)(puVar32 + -0x34) = 0;\n  if (iVar29 == -1) {\n    iVar27 = 1;\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar29 = 0;\n    iVar25 = -1;\n  }\n  else if (pMVar14->was_quiesced == false) {\n    *(int *)(puVar32 + -0x40) = iVar29;\n    iVar25 = 0;\n    iVar27 = 2;\n    *(undefined2 *)(puVar32 + -0x3c) = 1;\n    iVar29 = 1;\n    *(undefined4 *)(puVar32 + -0x58) = 1;\n  }\n  else {\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar27 = 1;\n    iVar25 = -1;\n    iVar29 = 0;\n  }\n  iVar8 = (pMVar14->itc).fd;\n  MVar26 = pMVar14->options & 0x2000;\n  if (iVar8 == -1) {\n    iVar27 = -1;\n    if (MVar26 != MHD_NO_FLAG) {\n      *(undefined4 *)(puVar32 + -0x58) = 0xffffffff;\n      goto LAB_0001ba92;\n    }\nLAB_0001ba1c:\n    if (iVar29 == 0) goto LAB_0001b9ad;\n    *(undefined4 *)(puVar32 + -0x60) = 0x10;\n    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);\n    *(int *)(puVar32 + -0x68) = iVar29;\n    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba34;\n    iVar29 = __poll_chk();\n    if (-1 < iVar29) {\n      if (iVar27 != -1) {\n        *(int *)(puVar32 + -0x58) = iVar27;\n        goto LAB_0001b975;\n      }\n      goto LAB_0001b984;\n    }\n  }\n  else {\n    *(int *)(puVar32 + iVar29 * 8 + -0x40) = iVar8;\n    *(undefined2 *)(puVar32 + iVar29 * 8 + -0x3c) = 1;\n    iVar29 = iVar27;\n    if (MVar26 != MHD_NO_FLAG) {\nLAB_0001ba92:\n      *(int *)(puVar32 + -0x50) = iVar29;\n      *(undefined4 *)(puVar32 + -0x60) = 0x1ba9d;\n      resume_suspended_connections(pMVar14);\n      iVar29 = *(int *)(puVar32 + -0x50);\n      iVar27 = *(int *)(puVar32 + -0x58);\n      goto LAB_0001ba1c;\n    }\n    *(undefined4 *)(puVar32 + -0x60) = 0x10;\n    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);\n    *(int *)(puVar32 + -0x68) = iVar27;\n    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1b96a;\n    iVar29 = __poll_chk();\n    if (-1 < iVar29) {\nLAB_0001b975:\n      if ((puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0) {\n        *(undefined4 *)(puVar32 + -100) = 8;\n        *(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;\n        *(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;\n        *(undefined4 *)(puVar32 + -0x70) = 0x1bac5;\n        read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));\n      }\nLAB_0001b984:\n      if (((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0)) {\n        *(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;\n        MHD_accept_connection(pMVar14);\n      }\n      goto LAB_0001b9ad;\n    }\n  }\n  *(undefined4 *)(puVar32 + -0x60) = 0x1ba55;\n  piVar13 = __errno_location();\n  if (*piVar13 != 4) {\n    *(int *)(puVar32 + -0x6c) = *piVar13;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba69;\n    pcVar24 = strerror(*(int *)(puVar32 + -0x6c));\n    *(char **)(puVar32 + -100) = pcVar24;\n    *(int *)(puVar32 + -0x68) = iVar12 + 0xf7f7;\n    *(MHD_Daemon **)(puVar32 + -0x6c) = pMVar14;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba7a;\n    MHD_DLOG(*(MHD_Daemon **)(puVar32 + -0x6c),*(char **)(puVar32 + -0x68));\n  }\nLAB_0001b9ad:\n  if (*(int *)(puVar32 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined **)(puVar32 + -0x60) = &UNK_0001bad2;\n    __stack_chk_fail_local();\n  }\n  return;\n}\n\n" comment comment comment comment (function_definition "void __regparm3 MHD_ip_limit_del(MHD_Daemon *daemon,sockaddr *addr,socklen_t addrlen)\n\n{\n  MHD_mutex_ *pMVar1;\n  MHD_AcceptPolicyCallback p_Var2;\n  socklen_t sVar3;\n  MHD_NotifyConnectionCallback p_Var4;\n  MHD_thread_ID_ MVar5;\n  MHD_AccessHandlerCallback p_Var6;\n  gnutls_credentials_type_t gVar7;\n  int iVar8;\n  uint uVar9;\n  MHD_Daemon *pMVar10;\n  undefined4 *puVar11;\n  int iVar12;\n  int *piVar13;\n  MHD_Daemon *pMVar14;\n  MHD_Connection *pMVar15;\n  MemoryPool *pMVar16;\n  sockaddr *psVar17;\n  time_t tVar18;\n  MHD_Connection *pMVar19;\n  undefined4 *puVar20;\n  MHD_Connection *pMVar21;\n  ssize_t sVar22;\n  MHD_Daemon *pMVar23;\n  char *pcVar24;\n  int iVar25;\n  MHD_FLAG MVar26;\n  undefined4 extraout_ECX;\n  int iVar27;\n  __compar_fn_t extraout_EDX;\n  code *pcVar28;\n  uint extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  MHD_Connection *extraout_EDX_02;\n  int iVar29;\n  undefined1 *puVar30;\n  undefined4 *puVar31;\n  undefined1 *puVar32;\n  undefined4 *puVar33;\n  undefined1 *puVar34;\n  undefined1 *puVar35;\n  int in_GS_OFFSET;\n  undefined8 uVar36;\n  byte abStack_29e [450];\n  size_t asStack_dc [5];\n  socklen_t sStack_c8;\n  int iStack_c4;\n  uint auStack_c0 [6];\n  byte abStack_a8 [4];\n  int aiStack_a4 [18];\n  MHD_Daemon *in_stack_ffffffb4;\n  MHD_IPCount search_key;\n  \n  iVar29 = *(int *)(in_GS_OFFSET + 0x14);\n  do {\n    pMVar14 = daemon;\n    daemon = pMVar14->master;\n  } while (pMVar14->master != (MHD_Daemon *)0x0);\n  if (pMVar14->per_ip_connection_limit == 0) {\nLAB_0001a89b:\n    if (iVar29 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }\n    return;\n  }\n  pMVar19 = (MHD_Connection *)&search_key;\n  uVar9 = 0;\n  do {\n    *(undefined4 *)((int)&pMVar19->nextE + uVar9) = 0;\n    uVar9 = uVar9 + 4;\n  } while (uVar9 < 0x18);\n  if (addrlen == 0x10) {\n    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 2);\n    search_key.family = 2;\n  }\n  else {\n    if (addrlen != 0x1c) goto LAB_0001a89b;\n    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 6);\n    search_key.family = 10;\n    search_key.addr._4_4_ = *(undefined4 *)(addr->sa_data + 10);\n    search_key.addr._8_2_ = addr[1].sa_family;\n    search_key.addr._10_1_ = addr[1].sa_data[0];\n    search_key.addr._11_1_ = addr[1].sa_data[1];\n    search_key.addr._12_4_ = *(undefined4 *)(addr[1].sa_data + 2);\n  }\n  pMVar1 = &pMVar14->per_ip_connection_mutex;\n  pMVar10 = (MHD_Daemon *)pthread_mutex_lock((pthread_mutex_t *)pMVar1);\n  puVar31 = (undefined4 *)&stack0xffffffb4;\n  if (pMVar10 == (MHD_Daemon *)0x0) {\n    pcVar28 = MHD_ip_addr_compare;\n    pMVar14 = (MHD_Daemon *)&pMVar14->per_ip_connection_count;\n    puVar11 = (undefined4 *)tfind(pMVar19,(void **)pMVar14,MHD_ip_addr_compare);\n    puVar30 = &stack0xffffffb4;\n    if (puVar11 != (undefined4 *)0x0) {\n      pMVar19 = (MHD_Connection *)*puVar11;\n      if (pMVar19->prevX != (MHD_Connection *)0x0) {\n        puVar32 = &pMVar19->prevX[-1].field_0xfb;\n        pMVar19->prevX = (MHD_Connection *)puVar32;\n        if (puVar32 == (undefined1 *)0x0) goto LAB_0001a978;\n        while (iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0) {\n          MHD_ip_count_unlock(in_stack_ffffffb4);\n          pcVar28 = extraout_EDX;\nLAB_0001a978:\n          tdelete(pMVar19,(void **)pMVar14,pcVar28);\n          free(pMVar19);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar30 = &stack0xffffffa4;\n      (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1e2,\n                   "Previously-added IP address had counter of zero\n");\n    }\n    *(char **)(puVar30 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar30 + -8) = 0x1dc;\n    *(char **)(puVar30 + -0xc) = "daemon.c";\n    puVar31 = (undefined4 *)(puVar30 + -0x10);\n    *(void **)(puVar30 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar30 + -0x14) = 0x1a9d3;\n    pMVar10 = (MHD_Daemon *)\n              (*mhd_panic)(*(void **)(puVar30 + -0x10),*(char **)(puVar30 + -0xc),\n                           *(uint *)(puVar30 + -8),*(char **)(puVar30 + -4));\n  }\n  puVar31[-1] = 0x1a9d8;\n  MHD_ip_count_lock((MHD_Daemon *)*puVar31);\n  puVar31[-1] = pMVar19;\n  puVar31[-2] = pMVar1;\n  puVar31[-3] = pMVar14;\n  puVar31[-4] = &_GLOBAL_OFFSET_TABLE_;\n  puVar31[-5] = 0x1a9eb;\n  iVar29 = puVar31[-5];\n  puVar31[-0x10] = extraout_ECX;\n  puVar31[-0x11] = extraout_EDX_00;\n  puVar31[-0xf] = puVar31[3];\n  puVar31[-0xe] = puVar31[2];\n  puVar31[-8] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar11 = puVar31 + -0x13;\n  if (((char)puVar31[2] != '\0') &&\n     (pMVar14 = pMVar10->worker_pool, puVar11 = puVar31 + -0x13, pMVar14 != (MHD_Daemon *)0x0)) {\n    uVar9 = pMVar10->worker_pool_size;\n    if (uVar9 != 0) {\n      pMVar10 = pMVar14 + extraout_EDX_00 % uVar9;\n      if (pMVar10->connection_limit <= pMVar10->connections) {\n        pMVar15 = (MHD_Connection *)puVar31[-0x11];\n        pMVar19 = (MHD_Connection *)((int)&pMVar15->nextE + uVar9);\n        do {\n          pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);\n          if (pMVar19 == pMVar15) goto LAB_0001aa90;\n          pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;\n        } while (pMVar10->connection_limit <= pMVar10->connections);\n      }\n      puVar31[-0x15] = (uint)*(byte *)(puVar31 + -0xf);\n      puVar31[-0x16] = 1;\n      puVar31[-0x17] = puVar31[1];\n      puVar31[-0x18] = 0x1ae14;\n      internal_add_connection\n                (pMVar10,puVar31[-0x11],(sockaddr *)puVar31[-0x10],puVar31[-0x17],\n                 *(_Bool *)(puVar31 + -0x16),*(_Bool *)(puVar31 + -0x15));\n      puVar11 = puVar31 + -0x13;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar11 = puVar31 + -0x17;\n    puVar31[-0x17] = puVar31[-0x11];\n    puVar31[-0x18] = 0x1aa9c;\n    pMVar10 = (MHD_Daemon *)close(puVar31[-0x17]);\n    puVar31[-0x18] = 0x1aaa3;\n    piVar13 = __errno_location();\n    puVar33 = puVar31 + -0x13;\n    if ((pMVar10 != (MHD_Daemon *)0x0) && (puVar33 = puVar31 + -0x13, *piVar13 == 9)) {\n      puVar31[-0x14] = iVar29 + 0x1066d;\n      puVar31[-0x15] = 0x900;\n      puVar31[-0x16] = iVar29 + 0x10659;\n      puVar31[-0x17] = *(undefined4 *)(iVar29 + 0x1a67d);\n      pcVar28 = *(code **)(iVar29 + 0x1a681);\n      puVar31[-0x18] = 0x1aad6;\n      (*pcVar28)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar11 = puVar33;\n    *piVar13 = 0x17;\nLAB_0001ab43:\n    if (*(int *)((int)puVar11 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)puVar11 + -4) = 0x1b4e1;\n      __stack_chk_fail_local();\n    }\n    return;\n  }\nLAB_0001aae0:\n  if ((*(int *)((int)puVar11 + 8) < 0x400) ||\n     ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n    puVar33 = puVar11;\n    pMVar15 = pMVar19;\n    pMVar14 = pMVar10;\n    pMVar23 = pMVar10;\n    if (pMVar10->connections != pMVar10->connection_limit) {\n      do {\n        pMVar14 = pMVar23;\n        pMVar23 = pMVar14->master;\n      } while (pMVar14->master != (MHD_Daemon *)0x0);\n      if (pMVar14->per_ip_connection_limit != 0) {\n        *(undefined4 *)((int)puVar11 + -0xc) = 1;\n        *(undefined4 *)((int)puVar11 + -0x10) = 0x18;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c;\n        pMVar19 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        pMVar15 = pMVar19;\n        if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001ab0a;\n        if (*(int *)((int)puVar11 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)((int)puVar11 + 0x50) == 0x1c) {\n          iVar12 = *(int *)((int)puVar11 + 0xc);\n          pMVar19->nextE = (MHD_Connection *)0xa;\n          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);\n          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);\n          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);\n          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);\n          pMVar19->nextX = pMVar15;\n          goto LAB_0001b06b;\n        }\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8;\n        free(*(void **)((int)puVar11 + -0x10));\n      }\n      do {\n        p_Var2 = pMVar10->apc;\n        if (p_Var2 != (MHD_AcceptPolicyCallback)0x0) {\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;\n          pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));\n          if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)((int)puVar11 + -0xc) = 0xfc;\n        *(undefined4 *)((int)puVar11 + -0x10) = 1;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa;\n        pMVar15 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        if (pMVar15 == (MHD_Connection *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          pMVar19 = (MHD_Connection *)pMVar14->default_handler;\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;\n          goto LAB_0001ab43;\n        }\n        *(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2;\n        pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->pool = pMVar16;\n        if (pMVar16 == (MemoryPool *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;\n          goto LAB_0001ab43;\n        }\n        pMVar15->connection_timeout = pMVar10->connection_timeout;\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8;\n        psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->addr = psVar17;\n        if (psVar17 == (sockaddr *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          p_Var6 = pMVar14->default_handler;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;\n          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n        puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n        *(sockaddr **)((int)puVar11 + -0x10) = psVar17;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        sVar3 = *(socklen_t *)((int)puVar11 + 0x50);\n        pMVar15->daemon = pMVar10;\n        pMVar15->addr_len = sVar3;\n        pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8);\n        pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e;\n        tVar18 = MHD_monotonic_sec_counter();\n        pMVar15->last_activity = tVar18;\n        if ((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG) {\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;\n          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));\nLAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;\n          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n          puVar33 = puVar11;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }\n          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n          *(undefined4 *)((int)puVar11 + -8) = 0xa67;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          puVar33 = (undefined4 *)((int)puVar11 + -0x10);\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;\n          (*pcVar28)();\n          goto LAB_0001b53e;\n        }\n        pMVar15->tls_state = MHD_TLS_CONN_INIT;\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c;\n        MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10));\n        *(undefined4 *)((int)puVar11 + -0xc) = 0x49;\n        *(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc);\n        *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        gVar7 = pMVar10->cred_type;\n        if (gVar7 == GNUTLS_CRD_CERTIFICATE) {\n          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 1;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (gVar7 == GNUTLS_CRD_PSK) {\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 4;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7;\n        *(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5;\n        *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1affb;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10);\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)((int)puVar11 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;\n          (*pcVar28)();\n          pMVar21 = extraout_EDX_02;\nLAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;\n          puVar11 = (undefined4 *)puVar32;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)((int)puVar11 + -4) = 0x1b029;\n        MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50));\n        *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b034;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0;\n        *(undefined4 *)((int)puVar11 + -0x18) = 0x9c9;\n        *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659;\n        *(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d);\n        pcVar28 = *(code **)(iVar29 + 0x1a681);\n        *(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b;\n        pMVar19 = (MHD_Connection *)(*pcVar28)();\n        puVar11 = (undefined4 *)((int)puVar11 + -0x20);\nLAB_0001b05b:\n        pMVar19->nextE = (MHD_Connection *)0x2;\n        (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =\n             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4);\n        pMVar19 = pMVar15;\nLAB_0001b06b:\n        puVar11[6] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-4] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-5] = 0x1b07e;\n        iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4]);\n        pMVar15 = pMVar19;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        puVar11[-2] = iVar29 + -0xceb;\n        puVar11[-3] = &pMVar14->per_ip_connection_count;\n        puVar11[-4] = pMVar19;\n        puVar11[-5] = 0x1b09d;\n        puVar20 = (undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2]);\n        puVar33 = puVar11;\n        if (puVar20 == (undefined4 *)0x0) {\n          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;\n          puVar11[-4] = pMVar14;\n          puVar11[-5] = 0x1b120;\n          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);\n          puVar11[-4] = puVar11[6];\n          puVar11[-5] = 0x1b12a;\n          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n          if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        pMVar21 = (MHD_Connection *)*puVar20;\n        if (pMVar19 != pMVar21) {\n          puVar11[7] = pMVar21;\n          puVar11[-4] = pMVar19;\n          puVar11[-5] = 0x1b0b7;\n          free((void *)puVar11[-4]);\n          pMVar21 = (MHD_Connection *)puVar11[7];\n        }\n        if ((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX) goto LAB_0001b0f0;\n        pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1);\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0db;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 == 0);\n      do {\n        puVar11[-1] = 0x1b0eb;\n        MHD_ip_count_unlock((MHD_Daemon *)*puVar11);\nLAB_0001b0f0:\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)((int)puVar33 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n    *(MHD_Daemon **)((int)puVar33 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab1a;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar33 + -0x10),*(char **)((int)puVar33 + -0xc));\n    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)((int)puVar33 + 8);\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab24;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar33 + -0x10));\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab2b;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (*piVar13 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)((int)puVar33 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar33 + -8) = 0x93d;\n    *(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;\n    puVar11 = (undefined4 *)((int)puVar33 + -0x10);\n    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1b55d;\n    (*pcVar28)();\n    pMVar19 = pMVar15;\nLAB_0001b55d:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar11 + -8) = 0x950;\n    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b57c;\n    (*pcVar28)();\n    puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b57c:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar11 + -8) = 0x962;\n    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b59b;\n    (*pcVar28)();\n    puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n  }\n  else {\n    *(undefined4 *)((int)puVar11 + -4) = 0x400;\n    pMVar14 = *(MHD_Daemon **)((int)puVar11 + 8);\n    *(MHD_Daemon **)((int)puVar11 + -8) = pMVar14;\n    *(char **)((int)puVar11 + -0xc) = "pthread_self" + iVar29 + 10;\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adc7;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adcf;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar11 + -0x10));\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1add6;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (puVar32 = (undefined1 *)puVar11, *piVar13 != 9)) {\n      *piVar13 = 0x16;\n      goto LAB_0001ab43;\n    }\n  }\n  *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n  *(undefined4 *)(puVar32 + -8) = 0x912;\n  *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n  puVar11 = (undefined4 *)(puVar32 + -0x10);\n  *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)(puVar32 + -0x14) = 0x1b5ba;\n  (*pcVar28)();\n  pMVar15 = pMVar19;\nLAB_0001b5ba:\n  puVar11[-1] = 0x1b5bf;\n  MHD_ip_count_lock((MHD_Daemon *)*puVar11);\n  puVar33 = puVar11;\nLAB_0001b5bf:\n  *(int *)((int)puVar33 + -4) = iVar29 + 0xf615;\n  *(undefined4 *)((int)puVar33 + -8) = 0x9e4;\n  *(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;\n  puVar11 = (undefined4 *)((int)puVar33 + -0x10);\n  *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar33 + -0x14) = 0x1b5de;\n  (*pcVar28)();\nLAB_0001b5de:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0xf615;\n  *(undefined4 *)((int)puVar11 + -8) = 0xa5b;\n  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b5fd;\n  (*pcVar28)();\n  puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b5fd:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n  *(undefined4 *)((int)puVar11 + -8) = 0xa01;\n  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b61c;\n  (*pcVar28)();\n  puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b61c:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n  *(undefined4 *)((int)puVar11 + -8) = 0x985;\n  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b63b;\n  (*pcVar28)();\n  puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b63b:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n  *(undefined4 *)((int)puVar11 + -8) = 0x971;\n  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b65a;\n  pMVar23 = (MHD_Daemon *)(*pcVar28)();\n  *(MHD_Connection **)((int)puVar11 + -0x14) = pMVar15;\n  *(MHD_Daemon **)((int)puVar11 + -0x18) = pMVar14;\n  *(MHD_Daemon **)((int)puVar11 + -0x1c) = pMVar10;\n  *(int *)((int)puVar11 + -0x20) = iVar29 + 0x1a3f5;\n  *(undefined4 *)((int)puVar11 + -0x24) = 0x1b66d;\n  iVar29 = *(int *)((int)puVar11 + -0x24);\n  *(undefined4 *)((int)puVar11 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  uVar9 = 0;\n  *(undefined4 *)((int)puVar11 + -0x50) = 0x1c;\n  psVar17 = (sockaddr *)((int)puVar11 + -0x4c);\n  do {\n    pcVar24 = psVar17->sa_data + (uVar9 - 2);\n    pcVar24[0] = '\0';\n    pcVar24[1] = '\0';\n    pcVar24[2] = '\0';\n    pcVar24[3] = '\0';\n    uVar9 = uVar9 + 4;\n  } while (uVar9 < 0x1c);\n  iVar12 = pMVar23->listen_fd;\n  puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n  if ((iVar12 == -1) ||\n     (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), pMVar23->was_quiesced != false)) {\nLAB_0001b7c2:\n    if (*(int *)(puVar32 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar32 + -4) = 0x1b867;\n      __stack_chk_fail_local();\n    }\n    return;\n  }\n  *(undefined4 *)((int)puVar11 + -0x70) = 0x80800;\n  *(undefined1 **)((int)puVar11 + -0x74) = (undefined1 *)((int)puVar11 + -0x50);\n  *(sockaddr **)((int)puVar11 + -0x78) = psVar17;\n  *(int *)((int)puVar11 + -0x7c) = iVar12;\n  *(undefined4 *)((int)puVar11 + -0x80) = 0x1b6c8;\n  iVar12 = accept4(*(int *)((int)puVar11 + -0x7c),*(sockaddr **)((int)puVar11 + -0x78),\n                   *(socklen_t **)((int)puVar11 + -0x74),*(int *)((int)puVar11 + -0x70));\n  puVar35 = (undefined1 *)((int)puVar11 + -0x6c);\n  if ((iVar12 != -1) && (*(int *)((int)puVar11 + -0x50) != 0)) {\n    *(undefined4 *)((int)puVar11 + -0x74) = 1;\n    *(undefined4 *)((int)puVar11 + -0x78) = 0;\n    *(int *)((int)puVar11 + -0x7c) = *(int *)((int)puVar11 + -0x50);\n    *(undefined4 *)((int)puVar11 + -0x80) = 0x1b7f3;\n    internal_add_connection\n              (pMVar23,iVar12,psVar17,*(socklen_t *)((int)puVar11 + -0x7c),\n               *(_Bool *)((int)puVar11 + -0x78),*(_Bool *)((int)puVar11 + -0x74));\n    puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n    goto LAB_0001b7c2;\n  }\n  *(undefined4 *)((int)puVar11 + -0x70) = 0x1b6e3;\n  piVar13 = __errno_location();\n  iVar25 = *piVar13;\n  puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n  if ((iVar25 == 0x67) || (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), iVar25 == 0x16))\n  goto LAB_0001b7c2;\n  *(int **)((int)puVar11 + -0x60) = piVar13;\n  if (iVar25 == 0xb) {\n    puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n    if (iVar12 != -1) {\n      *(int *)((int)puVar11 + -0x7c) = iVar12;\n      *(undefined4 *)((int)puVar11 + -0x80) = 0x1b80e;\n      iVar27 = close(*(int *)((int)puVar11 + -0x7c));\n      piVar13 = *(int **)((int)puVar11 + -0x60);\n      puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n      puVar34 = (undefined1 *)((int)puVar11 + -0x6c);\n      if (iVar27 != 0) goto LAB_0001b819;\n    }\n    goto LAB_0001b7c2;\n  }\n  *(int *)((int)puVar11 + -0x7c) = iVar25;\n  *(undefined4 *)((int)puVar11 + -0x80) = 0x1b70d;\n  pcVar24 = strerror(*(int *)((int)puVar11 + -0x7c));\n  *(char **)((int)puVar11 + -0x74) = pcVar24;\n  *(int *)((int)puVar11 + -0x78) = iVar29 + 0x10437;\n  *(MHD_Daemon **)((int)puVar11 + -0x7c) = pMVar23;\n  *(undefined4 *)((int)puVar11 + -0x80) = 0x1b71e;\n  MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x7c),*(char **)((int)puVar11 + -0x78));\n  puVar34 = (undefined1 *)((int)puVar11 + -0x6c);\n  if (iVar12 != -1) {\n    while( true ) {\n      *(int *)(puVar35 + -0x10) = iVar12;\n      *(undefined4 *)(puVar35 + -0x14) = 0x1b851;\n      iVar27 = close(*(int *)(puVar35 + -0x10));\n      piVar13 = *(int **)(puVar35 + 0xc);\n      puVar34 = puVar35;\n      if (iVar27 == 0) break;\nLAB_0001b819:\n      if (*piVar13 != 9) break;\n      *(int *)(puVar34 + -4) = iVar29 + 0xf9eb;\n      *(undefined4 *)(puVar34 + -8) = 0xc1a;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n      puVar35 = puVar34 + -0x10;\n      *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n      pcVar28 = *(code **)(iVar29 + 0x199ff);\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b841;\n      (*pcVar28)();\n    }\n  }\n  puVar32 = puVar34;\n  if ((iVar25 != 0xc && iVar25 != 0x69) && (1 < iVar25 - 0x17U)) goto LAB_0001b7c2;\n  if (pMVar23->connections == 0) {\n    *(int *)(puVar34 + -0xc) = iVar29 + 0x10457;\n    *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b7b8;\n    MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));\n    goto LAB_0001b7c2;\n  }\n  pMVar1 = &pMVar23->cleanup_connection_mutex;\n  *(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1;\n  *(undefined4 *)(puVar34 + -0x14) = 0x1b75b;\n  iVar25 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar34 + -0x10));\n  if (iVar25 == 0) {\n    pMVar23->at_limit = true;\n    *(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1;\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b776;\n    iVar25 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar34 + -0x10));\n    if (iVar25 == 0) {\n      *(undefined4 *)(puVar34 + 0xc) = 0;\n      *(uint *)(puVar34 + -8) = pMVar23->connections;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0x10513;\n      *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b79b;\n      MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));\n      goto LAB_0001b7c2;\n    }\n  }\n  else {\n    *(int *)(puVar34 + -4) = iVar29 + 0xe993;\n    *(undefined4 *)(puVar34 + -8) = 0xc2c;\n    *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n    puVar32 = puVar34 + -0x10;\n    *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n    pcVar28 = *(code **)(iVar29 + 0x199ff);\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b886;\n    (*pcVar28)();\n  }\n  *(int *)(puVar32 + -4) = iVar29 + 0xe9b7;\n  *(undefined4 *)(puVar32 + -8) = 0xc30;\n  *(int *)(puVar32 + -0xc) = iVar29 + 0xf9d7;\n  *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n  pcVar28 = *(code **)(iVar29 + 0x199ff);\n  *(undefined4 *)(puVar32 + -0x14) = 0x1b8a5;\n  uVar36 = (*pcVar28)();\n  pMVar14 = (MHD_Daemon *)uVar36;\n  *(int *)(puVar32 + -0x14) = iVar12;\n  *(MHD_mutex_ **)(puVar32 + -0x18) = pMVar1;\n  *(MHD_Daemon **)(puVar32 + -0x1c) = pMVar23;\n  *(int *)(puVar32 + -0x20) = iVar29 + 0x19773;\n  *(undefined4 *)(puVar32 + -0x24) = 0x1b8bb;\n  iVar12 = *(int *)(puVar32 + -0x24);\n  iVar29 = pMVar14->listen_fd;\n  *(int *)(puVar32 + -0x54) = (int)((ulonglong)uVar36 >> 0x20);\n  *(undefined4 *)(puVar32 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  *(undefined4 *)(puVar32 + -0x40) = 0;\n  *(undefined4 *)(puVar32 + -0x3c) = 0;\n  *(undefined4 *)(puVar32 + -0x38) = 0;\n  *(undefined4 *)(puVar32 + -0x34) = 0;\n  if (iVar29 == -1) {\n    iVar27 = 1;\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar29 = 0;\n    iVar25 = -1;\n  }\n  else if (pMVar14->was_quiesced == false) {\n    *(int *)(puVar32 + -0x40) = iVar29;\n    iVar25 = 0;\n    iVar27 = 2;\n    *(undefined2 *)(puVar32 + -0x3c) = 1;\n    iVar29 = 1;\n    *(undefined4 *)(puVar32 + -0x58) = 1;\n  }\n  else {\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar27 = 1;\n    iVar25 = -1;\n    iVar29 = 0;\n  }\n  iVar8 = (pMVar14->itc).fd;\n  MVar26 = pMVar14->options & 0x2000;\n  if (iVar8 == -1) {\n    iVar27 = -1;\n    if (MVar26 != MHD_NO_FLAG) {\n      *(undefined4 *)(puVar32 + -0x58) = 0xffffffff;\n      goto LAB_0001ba92;\n    }\nLAB_0001ba1c:\n    if (iVar29 == 0) goto LAB_0001b9ad;\n    *(undefined4 *)(puVar32 + -0x60) = 0x10;\n    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);\n    *(int *)(puVar32 + -0x68) = iVar29;\n    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba34;\n    iVar29 = __poll_chk();\n    if (-1 < iVar29) {\n      if (iVar27 != -1) {\n        *(int *)(puVar32 + -0x58) = iVar27;\n        goto LAB_0001b975;\n      }\n      goto LAB_0001b984;\n    }\n  }\n  else {\n    *(int *)(puVar32 + iVar29 * 8 + -0x40) = iVar8;\n    *(undefined2 *)(puVar32 + iVar29 * 8 + -0x3c) = 1;\n    iVar29 = iVar27;\n    if (MVar26 != MHD_NO_FLAG) {\nLAB_0001ba92:\n      *(int *)(puVar32 + -0x50) = iVar29;\n      *(undefined4 *)(puVar32 + -0x60) = 0x1ba9d;\n      resume_suspended_connections(pMVar14);\n      iVar29 = *(int *)(puVar32 + -0x50);\n      iVar27 = *(int *)(puVar32 + -0x58);\n      goto LAB_0001ba1c;\n    }\n    *(undefined4 *)(puVar32 + -0x60) = 0x10;\n    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);\n    *(int *)(puVar32 + -0x68) = iVar27;\n    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1b96a;\n    iVar29 = __poll_chk();\n    if (-1 < iVar29) {\nLAB_0001b975:\n      if ((puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0) {\n        *(undefined4 *)(puVar32 + -100) = 8;\n        *(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;\n        *(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;\n        *(undefined4 *)(puVar32 + -0x70) = 0x1bac5;\n        read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));\n      }\nLAB_0001b984:\n      if (((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0)) {\n        *(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;\n        MHD_accept_connection(pMVar14);\n      }\n      goto LAB_0001b9ad;\n    }\n  }\n  *(undefined4 *)(puVar32 + -0x60) = 0x1ba55;\n  piVar13 = __errno_location();\n  if (*piVar13 != 4) {\n    *(int *)(puVar32 + -0x6c) = *piVar13;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba69;\n    pcVar24 = strerror(*(int *)(puVar32 + -0x6c));\n    *(char **)(puVar32 + -100) = pcVar24;\n    *(int *)(puVar32 + -0x68) = iVar12 + 0xf7f7;\n    *(MHD_Daemon **)(puVar32 + -0x6c) = pMVar14;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba7a;\n    MHD_DLOG(*(MHD_Daemon **)(puVar32 + -0x6c),*(char **)(puVar32 + -0x68));\n  }\nLAB_0001b9ad:\n  if (*(int *)(puVar32 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined **)(puVar32 + -0x60) = &UNK_0001bad2;\n    __stack_chk_fail_local();\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "MHD_ip_limit_del(MHD_Daemon *daemon,sockaddr *addr,socklen_t addrlen)" identifier (parameter_list "(MHD_Daemon *daemon,sockaddr *addr,socklen_t addrlen)" ( (parameter_declaration "MHD_Daemon *daemon" type_identifier (pointer_declarator "*daemon" * identifier)) , (parameter_declaration "sockaddr *addr" type_identifier (pointer_declarator "*addr" * identifier)) , (parameter_declaration "socklen_t addrlen" type_identifier identifier) ))) (compound_statement "{\n  MHD_mutex_ *pMVar1;\n  MHD_AcceptPolicyCallback p_Var2;\n  socklen_t sVar3;\n  MHD_NotifyConnectionCallback p_Var4;\n  MHD_thread_ID_ MVar5;\n  MHD_AccessHandlerCallback p_Var6;\n  gnutls_credentials_type_t gVar7;\n  int iVar8;\n  uint uVar9;\n  MHD_Daemon *pMVar10;\n  undefined4 *puVar11;\n  int iVar12;\n  int *piVar13;\n  MHD_Daemon *pMVar14;\n  MHD_Connection *pMVar15;\n  MemoryPool *pMVar16;\n  sockaddr *psVar17;\n  time_t tVar18;\n  MHD_Connection *pMVar19;\n  undefined4 *puVar20;\n  MHD_Connection *pMVar21;\n  ssize_t sVar22;\n  MHD_Daemon *pMVar23;\n  char *pcVar24;\n  int iVar25;\n  MHD_FLAG MVar26;\n  undefined4 extraout_ECX;\n  int iVar27;\n  __compar_fn_t extraout_EDX;\n  code *pcVar28;\n  uint extraout_EDX_00;\n  undefined4 extraout_EDX_01;\n  MHD_Connection *extraout_EDX_02;\n  int iVar29;\n  undefined1 *puVar30;\n  undefined4 *puVar31;\n  undefined1 *puVar32;\n  undefined4 *puVar33;\n  undefined1 *puVar34;\n  undefined1 *puVar35;\n  int in_GS_OFFSET;\n  undefined8 uVar36;\n  byte abStack_29e [450];\n  size_t asStack_dc [5];\n  socklen_t sStack_c8;\n  int iStack_c4;\n  uint auStack_c0 [6];\n  byte abStack_a8 [4];\n  int aiStack_a4 [18];\n  MHD_Daemon *in_stack_ffffffb4;\n  MHD_IPCount search_key;\n  \n  iVar29 = *(int *)(in_GS_OFFSET + 0x14);\n  do {\n    pMVar14 = daemon;\n    daemon = pMVar14->master;\n  } while (pMVar14->master != (MHD_Daemon *)0x0);\n  if (pMVar14->per_ip_connection_limit == 0) {\nLAB_0001a89b:\n    if (iVar29 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }\n    return;\n  }\n  pMVar19 = (MHD_Connection *)&search_key;\n  uVar9 = 0;\n  do {\n    *(undefined4 *)((int)&pMVar19->nextE + uVar9) = 0;\n    uVar9 = uVar9 + 4;\n  } while (uVar9 < 0x18);\n  if (addrlen == 0x10) {\n    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 2);\n    search_key.family = 2;\n  }\n  else {\n    if (addrlen != 0x1c) goto LAB_0001a89b;\n    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 6);\n    search_key.family = 10;\n    search_key.addr._4_4_ = *(undefined4 *)(addr->sa_data + 10);\n    search_key.addr._8_2_ = addr[1].sa_family;\n    search_key.addr._10_1_ = addr[1].sa_data[0];\n    search_key.addr._11_1_ = addr[1].sa_data[1];\n    search_key.addr._12_4_ = *(undefined4 *)(addr[1].sa_data + 2);\n  }\n  pMVar1 = &pMVar14->per_ip_connection_mutex;\n  pMVar10 = (MHD_Daemon *)pthread_mutex_lock((pthread_mutex_t *)pMVar1);\n  puVar31 = (undefined4 *)&stack0xffffffb4;\n  if (pMVar10 == (MHD_Daemon *)0x0) {\n    pcVar28 = MHD_ip_addr_compare;\n    pMVar14 = (MHD_Daemon *)&pMVar14->per_ip_connection_count;\n    puVar11 = (undefined4 *)tfind(pMVar19,(void **)pMVar14,MHD_ip_addr_compare);\n    puVar30 = &stack0xffffffb4;\n    if (puVar11 != (undefined4 *)0x0) {\n      pMVar19 = (MHD_Connection *)*puVar11;\n      if (pMVar19->prevX != (MHD_Connection *)0x0) {\n        puVar32 = &pMVar19->prevX[-1].field_0xfb;\n        pMVar19->prevX = (MHD_Connection *)puVar32;\n        if (puVar32 == (undefined1 *)0x0) goto LAB_0001a978;\n        while (iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0) {\n          MHD_ip_count_unlock(in_stack_ffffffb4);\n          pcVar28 = extraout_EDX;\nLAB_0001a978:\n          tdelete(pMVar19,(void **)pMVar14,pcVar28);\n          free(pMVar19);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar30 = &stack0xffffffa4;\n      (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1e2,\n                   "Previously-added IP address had counter of zero\n");\n    }\n    *(char **)(puVar30 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar30 + -8) = 0x1dc;\n    *(char **)(puVar30 + -0xc) = "daemon.c";\n    puVar31 = (undefined4 *)(puVar30 + -0x10);\n    *(void **)(puVar30 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar30 + -0x14) = 0x1a9d3;\n    pMVar10 = (MHD_Daemon *)\n              (*mhd_panic)(*(void **)(puVar30 + -0x10),*(char **)(puVar30 + -0xc),\n                           *(uint *)(puVar30 + -8),*(char **)(puVar30 + -4));\n  }\n  puVar31[-1] = 0x1a9d8;\n  MHD_ip_count_lock((MHD_Daemon *)*puVar31);\n  puVar31[-1] = pMVar19;\n  puVar31[-2] = pMVar1;\n  puVar31[-3] = pMVar14;\n  puVar31[-4] = &_GLOBAL_OFFSET_TABLE_;\n  puVar31[-5] = 0x1a9eb;\n  iVar29 = puVar31[-5];\n  puVar31[-0x10] = extraout_ECX;\n  puVar31[-0x11] = extraout_EDX_00;\n  puVar31[-0xf] = puVar31[3];\n  puVar31[-0xe] = puVar31[2];\n  puVar31[-8] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar11 = puVar31 + -0x13;\n  if (((char)puVar31[2] != '\0') &&\n     (pMVar14 = pMVar10->worker_pool, puVar11 = puVar31 + -0x13, pMVar14 != (MHD_Daemon *)0x0)) {\n    uVar9 = pMVar10->worker_pool_size;\n    if (uVar9 != 0) {\n      pMVar10 = pMVar14 + extraout_EDX_00 % uVar9;\n      if (pMVar10->connection_limit <= pMVar10->connections) {\n        pMVar15 = (MHD_Connection *)puVar31[-0x11];\n        pMVar19 = (MHD_Connection *)((int)&pMVar15->nextE + uVar9);\n        do {\n          pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);\n          if (pMVar19 == pMVar15) goto LAB_0001aa90;\n          pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;\n        } while (pMVar10->connection_limit <= pMVar10->connections);\n      }\n      puVar31[-0x15] = (uint)*(byte *)(puVar31 + -0xf);\n      puVar31[-0x16] = 1;\n      puVar31[-0x17] = puVar31[1];\n      puVar31[-0x18] = 0x1ae14;\n      internal_add_connection\n                (pMVar10,puVar31[-0x11],(sockaddr *)puVar31[-0x10],puVar31[-0x17],\n                 *(_Bool *)(puVar31 + -0x16),*(_Bool *)(puVar31 + -0x15));\n      puVar11 = puVar31 + -0x13;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar11 = puVar31 + -0x17;\n    puVar31[-0x17] = puVar31[-0x11];\n    puVar31[-0x18] = 0x1aa9c;\n    pMVar10 = (MHD_Daemon *)close(puVar31[-0x17]);\n    puVar31[-0x18] = 0x1aaa3;\n    piVar13 = __errno_location();\n    puVar33 = puVar31 + -0x13;\n    if ((pMVar10 != (MHD_Daemon *)0x0) && (puVar33 = puVar31 + -0x13, *piVar13 == 9)) {\n      puVar31[-0x14] = iVar29 + 0x1066d;\n      puVar31[-0x15] = 0x900;\n      puVar31[-0x16] = iVar29 + 0x10659;\n      puVar31[-0x17] = *(undefined4 *)(iVar29 + 0x1a67d);\n      pcVar28 = *(code **)(iVar29 + 0x1a681);\n      puVar31[-0x18] = 0x1aad6;\n      (*pcVar28)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar11 = puVar33;\n    *piVar13 = 0x17;\nLAB_0001ab43:\n    if (*(int *)((int)puVar11 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)puVar11 + -4) = 0x1b4e1;\n      __stack_chk_fail_local();\n    }\n    return;\n  }\nLAB_0001aae0:\n  if ((*(int *)((int)puVar11 + 8) < 0x400) ||\n     ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n    puVar33 = puVar11;\n    pMVar15 = pMVar19;\n    pMVar14 = pMVar10;\n    pMVar23 = pMVar10;\n    if (pMVar10->connections != pMVar10->connection_limit) {\n      do {\n        pMVar14 = pMVar23;\n        pMVar23 = pMVar14->master;\n      } while (pMVar14->master != (MHD_Daemon *)0x0);\n      if (pMVar14->per_ip_connection_limit != 0) {\n        *(undefined4 *)((int)puVar11 + -0xc) = 1;\n        *(undefined4 *)((int)puVar11 + -0x10) = 0x18;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c;\n        pMVar19 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        pMVar15 = pMVar19;\n        if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001ab0a;\n        if (*(int *)((int)puVar11 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)((int)puVar11 + 0x50) == 0x1c) {\n          iVar12 = *(int *)((int)puVar11 + 0xc);\n          pMVar19->nextE = (MHD_Connection *)0xa;\n          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);\n          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);\n          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);\n          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);\n          pMVar19->nextX = pMVar15;\n          goto LAB_0001b06b;\n        }\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8;\n        free(*(void **)((int)puVar11 + -0x10));\n      }\n      do {\n        p_Var2 = pMVar10->apc;\n        if (p_Var2 != (MHD_AcceptPolicyCallback)0x0) {\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;\n          pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));\n          if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)((int)puVar11 + -0xc) = 0xfc;\n        *(undefined4 *)((int)puVar11 + -0x10) = 1;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa;\n        pMVar15 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        if (pMVar15 == (MHD_Connection *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          pMVar19 = (MHD_Connection *)pMVar14->default_handler;\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;\n          goto LAB_0001ab43;\n        }\n        *(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2;\n        pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->pool = pMVar16;\n        if (pMVar16 == (MemoryPool *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;\n          goto LAB_0001ab43;\n        }\n        pMVar15->connection_timeout = pMVar10->connection_timeout;\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8;\n        psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->addr = psVar17;\n        if (psVar17 == (sockaddr *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          p_Var6 = pMVar14->default_handler;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;\n          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n        puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n        *(sockaddr **)((int)puVar11 + -0x10) = psVar17;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        sVar3 = *(socklen_t *)((int)puVar11 + 0x50);\n        pMVar15->daemon = pMVar10;\n        pMVar15->addr_len = sVar3;\n        pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8);\n        pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e;\n        tVar18 = MHD_monotonic_sec_counter();\n        pMVar15->last_activity = tVar18;\n        if ((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG) {\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;\n          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));\nLAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;\n          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n          puVar33 = puVar11;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }\n          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n          *(undefined4 *)((int)puVar11 + -8) = 0xa67;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          puVar33 = (undefined4 *)((int)puVar11 + -0x10);\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;\n          (*pcVar28)();\n          goto LAB_0001b53e;\n        }\n        pMVar15->tls_state = MHD_TLS_CONN_INIT;\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c;\n        MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10));\n        *(undefined4 *)((int)puVar11 + -0xc) = 0x49;\n        *(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc);\n        *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        gVar7 = pMVar10->cred_type;\n        if (gVar7 == GNUTLS_CRD_CERTIFICATE) {\n          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 1;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (gVar7 == GNUTLS_CRD_PSK) {\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 4;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7;\n        *(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5;\n        *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1affb;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10);\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)((int)puVar11 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;\n          (*pcVar28)();\n          pMVar21 = extraout_EDX_02;\nLAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;\n          puVar11 = (undefined4 *)puVar32;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)((int)puVar11 + -4) = 0x1b029;\n        MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50));\n        *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b034;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0;\n        *(undefined4 *)((int)puVar11 + -0x18) = 0x9c9;\n        *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659;\n        *(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d);\n        pcVar28 = *(code **)(iVar29 + 0x1a681);\n        *(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b;\n        pMVar19 = (MHD_Connection *)(*pcVar28)();\n        puVar11 = (undefined4 *)((int)puVar11 + -0x20);\nLAB_0001b05b:\n        pMVar19->nextE = (MHD_Connection *)0x2;\n        (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =\n             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4);\n        pMVar19 = pMVar15;\nLAB_0001b06b:\n        puVar11[6] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-4] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-5] = 0x1b07e;\n        iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4]);\n        pMVar15 = pMVar19;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        puVar11[-2] = iVar29 + -0xceb;\n        puVar11[-3] = &pMVar14->per_ip_connection_count;\n        puVar11[-4] = pMVar19;\n        puVar11[-5] = 0x1b09d;\n        puVar20 = (undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2]);\n        puVar33 = puVar11;\n        if (puVar20 == (undefined4 *)0x0) {\n          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;\n          puVar11[-4] = pMVar14;\n          puVar11[-5] = 0x1b120;\n          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);\n          puVar11[-4] = puVar11[6];\n          puVar11[-5] = 0x1b12a;\n          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n          if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        pMVar21 = (MHD_Connection *)*puVar20;\n        if (pMVar19 != pMVar21) {\n          puVar11[7] = pMVar21;\n          puVar11[-4] = pMVar19;\n          puVar11[-5] = 0x1b0b7;\n          free((void *)puVar11[-4]);\n          pMVar21 = (MHD_Connection *)puVar11[7];\n        }\n        if ((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX) goto LAB_0001b0f0;\n        pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1);\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0db;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 == 0);\n      do {\n        puVar11[-1] = 0x1b0eb;\n        MHD_ip_count_unlock((MHD_Daemon *)*puVar11);\nLAB_0001b0f0:\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)((int)puVar33 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n    *(MHD_Daemon **)((int)puVar33 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab1a;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar33 + -0x10),*(char **)((int)puVar33 + -0xc));\n    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)((int)puVar33 + 8);\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab24;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar33 + -0x10));\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab2b;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (*piVar13 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)((int)puVar33 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar33 + -8) = 0x93d;\n    *(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;\n    puVar11 = (undefined4 *)((int)puVar33 + -0x10);\n    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1b55d;\n    (*pcVar28)();\n    pMVar19 = pMVar15;\nLAB_0001b55d:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar11 + -8) = 0x950;\n    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b57c;\n    (*pcVar28)();\n    puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b57c:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar11 + -8) = 0x962;\n    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b59b;\n    (*pcVar28)();\n    puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n  }\n  else {\n    *(undefined4 *)((int)puVar11 + -4) = 0x400;\n    pMVar14 = *(MHD_Daemon **)((int)puVar11 + 8);\n    *(MHD_Daemon **)((int)puVar11 + -8) = pMVar14;\n    *(char **)((int)puVar11 + -0xc) = "pthread_self" + iVar29 + 10;\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adc7;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adcf;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar11 + -0x10));\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1add6;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (puVar32 = (undefined1 *)puVar11, *piVar13 != 9)) {\n      *piVar13 = 0x16;\n      goto LAB_0001ab43;\n    }\n  }\n  *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n  *(undefined4 *)(puVar32 + -8) = 0x912;\n  *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n  puVar11 = (undefined4 *)(puVar32 + -0x10);\n  *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)(puVar32 + -0x14) = 0x1b5ba;\n  (*pcVar28)();\n  pMVar15 = pMVar19;\nLAB_0001b5ba:\n  puVar11[-1] = 0x1b5bf;\n  MHD_ip_count_lock((MHD_Daemon *)*puVar11);\n  puVar33 = puVar11;\nLAB_0001b5bf:\n  *(int *)((int)puVar33 + -4) = iVar29 + 0xf615;\n  *(undefined4 *)((int)puVar33 + -8) = 0x9e4;\n  *(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;\n  puVar11 = (undefined4 *)((int)puVar33 + -0x10);\n  *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar33 + -0x14) = 0x1b5de;\n  (*pcVar28)();\nLAB_0001b5de:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0xf615;\n  *(undefined4 *)((int)puVar11 + -8) = 0xa5b;\n  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b5fd;\n  (*pcVar28)();\n  puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b5fd:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n  *(undefined4 *)((int)puVar11 + -8) = 0xa01;\n  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b61c;\n  (*pcVar28)();\n  puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b61c:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n  *(undefined4 *)((int)puVar11 + -8) = 0x985;\n  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b63b;\n  (*pcVar28)();\n  puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b63b:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n  *(undefined4 *)((int)puVar11 + -8) = 0x971;\n  *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n  *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n  pcVar28 = *(code **)(iVar29 + 0x1a681);\n  *(undefined4 *)((int)puVar11 + -0x14) = 0x1b65a;\n  pMVar23 = (MHD_Daemon *)(*pcVar28)();\n  *(MHD_Connection **)((int)puVar11 + -0x14) = pMVar15;\n  *(MHD_Daemon **)((int)puVar11 + -0x18) = pMVar14;\n  *(MHD_Daemon **)((int)puVar11 + -0x1c) = pMVar10;\n  *(int *)((int)puVar11 + -0x20) = iVar29 + 0x1a3f5;\n  *(undefined4 *)((int)puVar11 + -0x24) = 0x1b66d;\n  iVar29 = *(int *)((int)puVar11 + -0x24);\n  *(undefined4 *)((int)puVar11 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  uVar9 = 0;\n  *(undefined4 *)((int)puVar11 + -0x50) = 0x1c;\n  psVar17 = (sockaddr *)((int)puVar11 + -0x4c);\n  do {\n    pcVar24 = psVar17->sa_data + (uVar9 - 2);\n    pcVar24[0] = '\0';\n    pcVar24[1] = '\0';\n    pcVar24[2] = '\0';\n    pcVar24[3] = '\0';\n    uVar9 = uVar9 + 4;\n  } while (uVar9 < 0x1c);\n  iVar12 = pMVar23->listen_fd;\n  puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n  if ((iVar12 == -1) ||\n     (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), pMVar23->was_quiesced != false)) {\nLAB_0001b7c2:\n    if (*(int *)(puVar32 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar32 + -4) = 0x1b867;\n      __stack_chk_fail_local();\n    }\n    return;\n  }\n  *(undefined4 *)((int)puVar11 + -0x70) = 0x80800;\n  *(undefined1 **)((int)puVar11 + -0x74) = (undefined1 *)((int)puVar11 + -0x50);\n  *(sockaddr **)((int)puVar11 + -0x78) = psVar17;\n  *(int *)((int)puVar11 + -0x7c) = iVar12;\n  *(undefined4 *)((int)puVar11 + -0x80) = 0x1b6c8;\n  iVar12 = accept4(*(int *)((int)puVar11 + -0x7c),*(sockaddr **)((int)puVar11 + -0x78),\n                   *(socklen_t **)((int)puVar11 + -0x74),*(int *)((int)puVar11 + -0x70));\n  puVar35 = (undefined1 *)((int)puVar11 + -0x6c);\n  if ((iVar12 != -1) && (*(int *)((int)puVar11 + -0x50) != 0)) {\n    *(undefined4 *)((int)puVar11 + -0x74) = 1;\n    *(undefined4 *)((int)puVar11 + -0x78) = 0;\n    *(int *)((int)puVar11 + -0x7c) = *(int *)((int)puVar11 + -0x50);\n    *(undefined4 *)((int)puVar11 + -0x80) = 0x1b7f3;\n    internal_add_connection\n              (pMVar23,iVar12,psVar17,*(socklen_t *)((int)puVar11 + -0x7c),\n               *(_Bool *)((int)puVar11 + -0x78),*(_Bool *)((int)puVar11 + -0x74));\n    puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n    goto LAB_0001b7c2;\n  }\n  *(undefined4 *)((int)puVar11 + -0x70) = 0x1b6e3;\n  piVar13 = __errno_location();\n  iVar25 = *piVar13;\n  puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n  if ((iVar25 == 0x67) || (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), iVar25 == 0x16))\n  goto LAB_0001b7c2;\n  *(int **)((int)puVar11 + -0x60) = piVar13;\n  if (iVar25 == 0xb) {\n    puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n    if (iVar12 != -1) {\n      *(int *)((int)puVar11 + -0x7c) = iVar12;\n      *(undefined4 *)((int)puVar11 + -0x80) = 0x1b80e;\n      iVar27 = close(*(int *)((int)puVar11 + -0x7c));\n      piVar13 = *(int **)((int)puVar11 + -0x60);\n      puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n      puVar34 = (undefined1 *)((int)puVar11 + -0x6c);\n      if (iVar27 != 0) goto LAB_0001b819;\n    }\n    goto LAB_0001b7c2;\n  }\n  *(int *)((int)puVar11 + -0x7c) = iVar25;\n  *(undefined4 *)((int)puVar11 + -0x80) = 0x1b70d;\n  pcVar24 = strerror(*(int *)((int)puVar11 + -0x7c));\n  *(char **)((int)puVar11 + -0x74) = pcVar24;\n  *(int *)((int)puVar11 + -0x78) = iVar29 + 0x10437;\n  *(MHD_Daemon **)((int)puVar11 + -0x7c) = pMVar23;\n  *(undefined4 *)((int)puVar11 + -0x80) = 0x1b71e;\n  MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x7c),*(char **)((int)puVar11 + -0x78));\n  puVar34 = (undefined1 *)((int)puVar11 + -0x6c);\n  if (iVar12 != -1) {\n    while( true ) {\n      *(int *)(puVar35 + -0x10) = iVar12;\n      *(undefined4 *)(puVar35 + -0x14) = 0x1b851;\n      iVar27 = close(*(int *)(puVar35 + -0x10));\n      piVar13 = *(int **)(puVar35 + 0xc);\n      puVar34 = puVar35;\n      if (iVar27 == 0) break;\nLAB_0001b819:\n      if (*piVar13 != 9) break;\n      *(int *)(puVar34 + -4) = iVar29 + 0xf9eb;\n      *(undefined4 *)(puVar34 + -8) = 0xc1a;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n      puVar35 = puVar34 + -0x10;\n      *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n      pcVar28 = *(code **)(iVar29 + 0x199ff);\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b841;\n      (*pcVar28)();\n    }\n  }\n  puVar32 = puVar34;\n  if ((iVar25 != 0xc && iVar25 != 0x69) && (1 < iVar25 - 0x17U)) goto LAB_0001b7c2;\n  if (pMVar23->connections == 0) {\n    *(int *)(puVar34 + -0xc) = iVar29 + 0x10457;\n    *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b7b8;\n    MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));\n    goto LAB_0001b7c2;\n  }\n  pMVar1 = &pMVar23->cleanup_connection_mutex;\n  *(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1;\n  *(undefined4 *)(puVar34 + -0x14) = 0x1b75b;\n  iVar25 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar34 + -0x10));\n  if (iVar25 == 0) {\n    pMVar23->at_limit = true;\n    *(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1;\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b776;\n    iVar25 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar34 + -0x10));\n    if (iVar25 == 0) {\n      *(undefined4 *)(puVar34 + 0xc) = 0;\n      *(uint *)(puVar34 + -8) = pMVar23->connections;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0x10513;\n      *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b79b;\n      MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));\n      goto LAB_0001b7c2;\n    }\n  }\n  else {\n    *(int *)(puVar34 + -4) = iVar29 + 0xe993;\n    *(undefined4 *)(puVar34 + -8) = 0xc2c;\n    *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n    puVar32 = puVar34 + -0x10;\n    *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n    pcVar28 = *(code **)(iVar29 + 0x199ff);\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b886;\n    (*pcVar28)();\n  }\n  *(int *)(puVar32 + -4) = iVar29 + 0xe9b7;\n  *(undefined4 *)(puVar32 + -8) = 0xc30;\n  *(int *)(puVar32 + -0xc) = iVar29 + 0xf9d7;\n  *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n  pcVar28 = *(code **)(iVar29 + 0x199ff);\n  *(undefined4 *)(puVar32 + -0x14) = 0x1b8a5;\n  uVar36 = (*pcVar28)();\n  pMVar14 = (MHD_Daemon *)uVar36;\n  *(int *)(puVar32 + -0x14) = iVar12;\n  *(MHD_mutex_ **)(puVar32 + -0x18) = pMVar1;\n  *(MHD_Daemon **)(puVar32 + -0x1c) = pMVar23;\n  *(int *)(puVar32 + -0x20) = iVar29 + 0x19773;\n  *(undefined4 *)(puVar32 + -0x24) = 0x1b8bb;\n  iVar12 = *(int *)(puVar32 + -0x24);\n  iVar29 = pMVar14->listen_fd;\n  *(int *)(puVar32 + -0x54) = (int)((ulonglong)uVar36 >> 0x20);\n  *(undefined4 *)(puVar32 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  *(undefined4 *)(puVar32 + -0x40) = 0;\n  *(undefined4 *)(puVar32 + -0x3c) = 0;\n  *(undefined4 *)(puVar32 + -0x38) = 0;\n  *(undefined4 *)(puVar32 + -0x34) = 0;\n  if (iVar29 == -1) {\n    iVar27 = 1;\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar29 = 0;\n    iVar25 = -1;\n  }\n  else if (pMVar14->was_quiesced == false) {\n    *(int *)(puVar32 + -0x40) = iVar29;\n    iVar25 = 0;\n    iVar27 = 2;\n    *(undefined2 *)(puVar32 + -0x3c) = 1;\n    iVar29 = 1;\n    *(undefined4 *)(puVar32 + -0x58) = 1;\n  }\n  else {\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar27 = 1;\n    iVar25 = -1;\n    iVar29 = 0;\n  }\n  iVar8 = (pMVar14->itc).fd;\n  MVar26 = pMVar14->options & 0x2000;\n  if (iVar8 == -1) {\n    iVar27 = -1;\n    if (MVar26 != MHD_NO_FLAG) {\n      *(undefined4 *)(puVar32 + -0x58) = 0xffffffff;\n      goto LAB_0001ba92;\n    }\nLAB_0001ba1c:\n    if (iVar29 == 0) goto LAB_0001b9ad;\n    *(undefined4 *)(puVar32 + -0x60) = 0x10;\n    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);\n    *(int *)(puVar32 + -0x68) = iVar29;\n    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba34;\n    iVar29 = __poll_chk();\n    if (-1 < iVar29) {\n      if (iVar27 != -1) {\n        *(int *)(puVar32 + -0x58) = iVar27;\n        goto LAB_0001b975;\n      }\n      goto LAB_0001b984;\n    }\n  }\n  else {\n    *(int *)(puVar32 + iVar29 * 8 + -0x40) = iVar8;\n    *(undefined2 *)(puVar32 + iVar29 * 8 + -0x3c) = 1;\n    iVar29 = iVar27;\n    if (MVar26 != MHD_NO_FLAG) {\nLAB_0001ba92:\n      *(int *)(puVar32 + -0x50) = iVar29;\n      *(undefined4 *)(puVar32 + -0x60) = 0x1ba9d;\n      resume_suspended_connections(pMVar14);\n      iVar29 = *(int *)(puVar32 + -0x50);\n      iVar27 = *(int *)(puVar32 + -0x58);\n      goto LAB_0001ba1c;\n    }\n    *(undefined4 *)(puVar32 + -0x60) = 0x10;\n    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);\n    *(int *)(puVar32 + -0x68) = iVar27;\n    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1b96a;\n    iVar29 = __poll_chk();\n    if (-1 < iVar29) {\nLAB_0001b975:\n      if ((puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0) {\n        *(undefined4 *)(puVar32 + -100) = 8;\n        *(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;\n        *(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;\n        *(undefined4 *)(puVar32 + -0x70) = 0x1bac5;\n        read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));\n      }\nLAB_0001b984:\n      if (((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0)) {\n        *(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;\n        MHD_accept_connection(pMVar14);\n      }\n      goto LAB_0001b9ad;\n    }\n  }\n  *(undefined4 *)(puVar32 + -0x60) = 0x1ba55;\n  piVar13 = __errno_location();\n  if (*piVar13 != 4) {\n    *(int *)(puVar32 + -0x6c) = *piVar13;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba69;\n    pcVar24 = strerror(*(int *)(puVar32 + -0x6c));\n    *(char **)(puVar32 + -100) = pcVar24;\n    *(int *)(puVar32 + -0x68) = iVar12 + 0xf7f7;\n    *(MHD_Daemon **)(puVar32 + -0x6c) = pMVar14;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba7a;\n    MHD_DLOG(*(MHD_Daemon **)(puVar32 + -0x6c),*(char **)(puVar32 + -0x68));\n  }\nLAB_0001b9ad:\n  if (*(int *)(puVar32 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined **)(puVar32 + -0x60) = &UNK_0001bad2;\n    __stack_chk_fail_local();\n  }\n  return;\n}" { (declaration "MHD_mutex_ *pMVar1;" type_identifier (pointer_declarator "*pMVar1" * identifier) ;) (declaration "MHD_AcceptPolicyCallback p_Var2;" type_identifier identifier ;) (declaration "socklen_t sVar3;" type_identifier identifier ;) (declaration "MHD_NotifyConnectionCallback p_Var4;" type_identifier identifier ;) (declaration "MHD_thread_ID_ MVar5;" type_identifier identifier ;) (declaration "MHD_AccessHandlerCallback p_Var6;" type_identifier identifier ;) (declaration "gnutls_credentials_type_t gVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "MHD_Daemon *pMVar10;" type_identifier (pointer_declarator "*pMVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "MHD_Daemon *pMVar14;" type_identifier (pointer_declarator "*pMVar14" * identifier) ;) (declaration "MHD_Connection *pMVar15;" type_identifier (pointer_declarator "*pMVar15" * identifier) ;) (declaration "MemoryPool *pMVar16;" type_identifier (pointer_declarator "*pMVar16" * identifier) ;) (declaration "sockaddr *psVar17;" type_identifier (pointer_declarator "*psVar17" * identifier) ;) (declaration "time_t tVar18;" type_identifier identifier ;) (declaration "MHD_Connection *pMVar19;" type_identifier (pointer_declarator "*pMVar19" * identifier) ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "MHD_Connection *pMVar21;" type_identifier (pointer_declarator "*pMVar21" * identifier) ;) (declaration "ssize_t sVar22;" primitive_type identifier ;) (declaration "MHD_Daemon *pMVar23;" type_identifier (pointer_declarator "*pMVar23" * identifier) ;) (declaration "char *pcVar24;" primitive_type (pointer_declarator "*pcVar24" * identifier) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "MHD_FLAG MVar26;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "__compar_fn_t extraout_EDX;" type_identifier identifier ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "uint extraout_EDX_00;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_01;" type_identifier identifier ;) (declaration "MHD_Connection *extraout_EDX_02;" type_identifier (pointer_declarator "*extraout_EDX_02" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "undefined1 *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "undefined4 *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "undefined1 *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "undefined4 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "undefined1 *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "undefined1 *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined8 uVar36;" type_identifier identifier ;) (declaration "byte abStack_29e [450];" type_identifier (array_declarator "abStack_29e [450]" identifier [ number_literal ]) ;) (declaration "size_t asStack_dc [5];" primitive_type (array_declarator "asStack_dc [5]" identifier [ number_literal ]) ;) (declaration "socklen_t sStack_c8;" type_identifier identifier ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "uint auStack_c0 [6];" type_identifier (array_declarator "auStack_c0 [6]" identifier [ number_literal ]) ;) (declaration "byte abStack_a8 [4];" type_identifier (array_declarator "abStack_a8 [4]" identifier [ number_literal ]) ;) (declaration "int aiStack_a4 [18];" primitive_type (array_declarator "aiStack_a4 [18]" identifier [ number_literal ]) ;) (declaration "MHD_Daemon *in_stack_ffffffb4;" type_identifier (pointer_declarator "*in_stack_ffffffb4" * identifier) ;) (declaration "MHD_IPCount search_key;" type_identifier identifier ;) (expression_statement "iVar29 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar29 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (do_statement "do {\n    pMVar14 = daemon;\n    daemon = pMVar14->master;\n  } while (pMVar14->master != (MHD_Daemon *)0x0);" do (compound_statement "{\n    pMVar14 = daemon;\n    daemon = pMVar14->master;\n  }" { (expression_statement "pMVar14 = daemon;" (assignment_expression "pMVar14 = daemon" identifier = identifier) ;) (expression_statement "daemon = pMVar14->master;" (assignment_expression "daemon = pMVar14->master" identifier = (field_expression "pMVar14->master" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(pMVar14->master != (MHD_Daemon *)0x0)" ( (binary_expression "pMVar14->master != (MHD_Daemon *)0x0" (field_expression "pMVar14->master" identifier -> field_identifier) != (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (pMVar14->per_ip_connection_limit == 0) {\nLAB_0001a89b:\n    if (iVar29 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }\n    return;\n  }" if (parenthesized_expression "(pMVar14->per_ip_connection_limit == 0)" ( (binary_expression "pMVar14->per_ip_connection_limit == 0" (field_expression "pMVar14->per_ip_connection_limit" identifier -> field_identifier) == number_literal) )) (compound_statement "{\nLAB_0001a89b:\n    if (iVar29 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }\n    return;\n  }" { (labeled_statement "LAB_0001a89b:\n    if (iVar29 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }" statement_identifier : (if_statement "if (iVar29 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }" if (parenthesized_expression "(iVar29 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar29 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail_local();\n    }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })) (expression_statement "pMVar19 = (MHD_Connection *)&search_key;" (assignment_expression "pMVar19 = (MHD_Connection *)&search_key" identifier = (cast_expression "(MHD_Connection *)&search_key" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&search_key" & identifier))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)&pMVar19->nextE + uVar9) = 0;\n    uVar9 = uVar9 + 4;\n  } while (uVar9 < 0x18);" do (compound_statement "{\n    *(undefined4 *)((int)&pMVar19->nextE + uVar9) = 0;\n    uVar9 = uVar9 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)&pMVar19->nextE + uVar9) = 0;" (assignment_expression "*(undefined4 *)((int)&pMVar19->nextE + uVar9) = 0" (pointer_expression "*(undefined4 *)((int)&pMVar19->nextE + uVar9)" * (cast_expression "(undefined4 *)((int)&pMVar19->nextE + uVar9)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pMVar19->nextE + uVar9)" ( (binary_expression "(int)&pMVar19->nextE + uVar9" (cast_expression "(int)&pMVar19->nextE" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar19->nextE" & (field_expression "pMVar19->nextE" identifier -> field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "uVar9 = uVar9 + 4;" (assignment_expression "uVar9 = uVar9 + 4" identifier = (binary_expression "uVar9 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar9 < 0x18)" ( (binary_expression "uVar9 < 0x18" identifier < number_literal) )) ;) (if_statement "if (addrlen == 0x10) {\n    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 2);\n    search_key.family = 2;\n  }\n  else {\n    if (addrlen != 0x1c) goto LAB_0001a89b;\n    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 6);\n    search_key.family = 10;\n    search_key.addr._4_4_ = *(undefined4 *)(addr->sa_data + 10);\n    search_key.addr._8_2_ = addr[1].sa_family;\n    search_key.addr._10_1_ = addr[1].sa_data[0];\n    search_key.addr._11_1_ = addr[1].sa_data[1];\n    search_key.addr._12_4_ = *(undefined4 *)(addr[1].sa_data + 2);\n  }" if (parenthesized_expression "(addrlen == 0x10)" ( (binary_expression "addrlen == 0x10" identifier == number_literal) )) (compound_statement "{\n    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 2);\n    search_key.family = 2;\n  }" { (expression_statement "search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 2);" (assignment_expression "search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 2)" (field_expression "search_key.addr.ipv4.s_addr" (field_expression "search_key.addr.ipv4" (field_expression "search_key.addr" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(in_addr)*(undefined4 *)(addr->sa_data + 2)" (parenthesized_expression "(in_addr)" ( identifier )) * (cast_expression "(undefined4 *)(addr->sa_data + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(addr->sa_data + 2)" ( (binary_expression "addr->sa_data + 2" (field_expression "addr->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "search_key.family = 2;" (assignment_expression "search_key.family = 2" (field_expression "search_key.family" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n    if (addrlen != 0x1c) goto LAB_0001a89b;\n    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 6);\n    search_key.family = 10;\n    search_key.addr._4_4_ = *(undefined4 *)(addr->sa_data + 10);\n    search_key.addr._8_2_ = addr[1].sa_family;\n    search_key.addr._10_1_ = addr[1].sa_data[0];\n    search_key.addr._11_1_ = addr[1].sa_data[1];\n    search_key.addr._12_4_ = *(undefined4 *)(addr[1].sa_data + 2);\n  }" else (compound_statement "{\n    if (addrlen != 0x1c) goto LAB_0001a89b;\n    search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 6);\n    search_key.family = 10;\n    search_key.addr._4_4_ = *(undefined4 *)(addr->sa_data + 10);\n    search_key.addr._8_2_ = addr[1].sa_family;\n    search_key.addr._10_1_ = addr[1].sa_data[0];\n    search_key.addr._11_1_ = addr[1].sa_data[1];\n    search_key.addr._12_4_ = *(undefined4 *)(addr[1].sa_data + 2);\n  }" { (if_statement "if (addrlen != 0x1c) goto LAB_0001a89b;" if (parenthesized_expression "(addrlen != 0x1c)" ( (binary_expression "addrlen != 0x1c" identifier != number_literal) )) (goto_statement "goto LAB_0001a89b;" goto statement_identifier ;)) (expression_statement "search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 6);" (assignment_expression "search_key.addr.ipv4.s_addr = (in_addr)*(undefined4 *)(addr->sa_data + 6)" (field_expression "search_key.addr.ipv4.s_addr" (field_expression "search_key.addr.ipv4" (field_expression "search_key.addr" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(in_addr)*(undefined4 *)(addr->sa_data + 6)" (parenthesized_expression "(in_addr)" ( identifier )) * (cast_expression "(undefined4 *)(addr->sa_data + 6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(addr->sa_data + 6)" ( (binary_expression "addr->sa_data + 6" (field_expression "addr->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "search_key.family = 10;" (assignment_expression "search_key.family = 10" (field_expression "search_key.family" identifier . field_identifier) = number_literal) ;) (expression_statement "search_key.addr._4_4_ = *(undefined4 *)(addr->sa_data + 10);" (assignment_expression "search_key.addr._4_4_ = *(undefined4 *)(addr->sa_data + 10)" (field_expression "search_key.addr._4_4_" (field_expression "search_key.addr" identifier . field_identifier) . field_identifier) = (pointer_expression "*(undefined4 *)(addr->sa_data + 10)" * (cast_expression "(undefined4 *)(addr->sa_data + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(addr->sa_data + 10)" ( (binary_expression "addr->sa_data + 10" (field_expression "addr->sa_data" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "search_key.addr._8_2_ = addr[1].sa_family;" (assignment_expression "search_key.addr._8_2_ = addr[1].sa_family" (field_expression "search_key.addr._8_2_" (field_expression "search_key.addr" identifier . field_identifier) . field_identifier) = (field_expression "addr[1].sa_family" (subscript_expression "addr[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "search_key.addr._10_1_ = addr[1].sa_data[0];" (assignment_expression "search_key.addr._10_1_ = addr[1].sa_data[0]" (field_expression "search_key.addr._10_1_" (field_expression "search_key.addr" identifier . field_identifier) . field_identifier) = (subscript_expression "addr[1].sa_data[0]" (field_expression "addr[1].sa_data" (subscript_expression "addr[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "search_key.addr._11_1_ = addr[1].sa_data[1];" (assignment_expression "search_key.addr._11_1_ = addr[1].sa_data[1]" (field_expression "search_key.addr._11_1_" (field_expression "search_key.addr" identifier . field_identifier) . field_identifier) = (subscript_expression "addr[1].sa_data[1]" (field_expression "addr[1].sa_data" (subscript_expression "addr[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "search_key.addr._12_4_ = *(undefined4 *)(addr[1].sa_data + 2);" (assignment_expression "search_key.addr._12_4_ = *(undefined4 *)(addr[1].sa_data + 2)" (field_expression "search_key.addr._12_4_" (field_expression "search_key.addr" identifier . field_identifier) . field_identifier) = (pointer_expression "*(undefined4 *)(addr[1].sa_data + 2)" * (cast_expression "(undefined4 *)(addr[1].sa_data + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(addr[1].sa_data + 2)" ( (binary_expression "addr[1].sa_data + 2" (field_expression "addr[1].sa_data" (subscript_expression "addr[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) }))) (expression_statement "pMVar1 = &pMVar14->per_ip_connection_mutex;" (assignment_expression "pMVar1 = &pMVar14->per_ip_connection_mutex" identifier = (pointer_expression "&pMVar14->per_ip_connection_mutex" & (field_expression "pMVar14->per_ip_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "pMVar10 = (MHD_Daemon *)pthread_mutex_lock((pthread_mutex_t *)pMVar1);" (assignment_expression "pMVar10 = (MHD_Daemon *)pthread_mutex_lock((pthread_mutex_t *)pMVar1)" identifier = (cast_expression "(MHD_Daemon *)pthread_mutex_lock((pthread_mutex_t *)pMVar1)" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "pthread_mutex_lock((pthread_mutex_t *)pMVar1)" identifier (argument_list "((pthread_mutex_t *)pMVar1)" ( (cast_expression "(pthread_mutex_t *)pMVar1" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) (expression_statement "puVar31 = (undefined4 *)&stack0xffffffb4;" (assignment_expression "puVar31 = (undefined4 *)&stack0xffffffb4" identifier = (cast_expression "(undefined4 *)&stack0xffffffb4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&stack0xffffffb4" & identifier))) ;) (if_statement "if (pMVar10 == (MHD_Daemon *)0x0) {\n    pcVar28 = MHD_ip_addr_compare;\n    pMVar14 = (MHD_Daemon *)&pMVar14->per_ip_connection_count;\n    puVar11 = (undefined4 *)tfind(pMVar19,(void **)pMVar14,MHD_ip_addr_compare);\n    puVar30 = &stack0xffffffb4;\n    if (puVar11 != (undefined4 *)0x0) {\n      pMVar19 = (MHD_Connection *)*puVar11;\n      if (pMVar19->prevX != (MHD_Connection *)0x0) {\n        puVar32 = &pMVar19->prevX[-1].field_0xfb;\n        pMVar19->prevX = (MHD_Connection *)puVar32;\n        if (puVar32 == (undefined1 *)0x0) goto LAB_0001a978;\n        while (iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0) {\n          MHD_ip_count_unlock(in_stack_ffffffb4);\n          pcVar28 = extraout_EDX;\nLAB_0001a978:\n          tdelete(pMVar19,(void **)pMVar14,pcVar28);\n          free(pMVar19);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar30 = &stack0xffffffa4;\n      (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1e2,\n                   "Previously-added IP address had counter of zero\n");\n    }\n    *(char **)(puVar30 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar30 + -8) = 0x1dc;\n    *(char **)(puVar30 + -0xc) = "daemon.c";\n    puVar31 = (undefined4 *)(puVar30 + -0x10);\n    *(void **)(puVar30 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar30 + -0x14) = 0x1a9d3;\n    pMVar10 = (MHD_Daemon *)\n              (*mhd_panic)(*(void **)(puVar30 + -0x10),*(char **)(puVar30 + -0xc),\n                           *(uint *)(puVar30 + -8),*(char **)(puVar30 + -4));\n  }" if (parenthesized_expression "(pMVar10 == (MHD_Daemon *)0x0)" ( (binary_expression "pMVar10 == (MHD_Daemon *)0x0" identifier == (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar28 = MHD_ip_addr_compare;\n    pMVar14 = (MHD_Daemon *)&pMVar14->per_ip_connection_count;\n    puVar11 = (undefined4 *)tfind(pMVar19,(void **)pMVar14,MHD_ip_addr_compare);\n    puVar30 = &stack0xffffffb4;\n    if (puVar11 != (undefined4 *)0x0) {\n      pMVar19 = (MHD_Connection *)*puVar11;\n      if (pMVar19->prevX != (MHD_Connection *)0x0) {\n        puVar32 = &pMVar19->prevX[-1].field_0xfb;\n        pMVar19->prevX = (MHD_Connection *)puVar32;\n        if (puVar32 == (undefined1 *)0x0) goto LAB_0001a978;\n        while (iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0) {\n          MHD_ip_count_unlock(in_stack_ffffffb4);\n          pcVar28 = extraout_EDX;\nLAB_0001a978:\n          tdelete(pMVar19,(void **)pMVar14,pcVar28);\n          free(pMVar19);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar30 = &stack0xffffffa4;\n      (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1e2,\n                   "Previously-added IP address had counter of zero\n");\n    }\n    *(char **)(puVar30 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar30 + -8) = 0x1dc;\n    *(char **)(puVar30 + -0xc) = "daemon.c";\n    puVar31 = (undefined4 *)(puVar30 + -0x10);\n    *(void **)(puVar30 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar30 + -0x14) = 0x1a9d3;\n    pMVar10 = (MHD_Daemon *)\n              (*mhd_panic)(*(void **)(puVar30 + -0x10),*(char **)(puVar30 + -0xc),\n                           *(uint *)(puVar30 + -8),*(char **)(puVar30 + -4));\n  }" { (expression_statement "pcVar28 = MHD_ip_addr_compare;" (assignment_expression "pcVar28 = MHD_ip_addr_compare" identifier = identifier) ;) (expression_statement "pMVar14 = (MHD_Daemon *)&pMVar14->per_ip_connection_count;" (assignment_expression "pMVar14 = (MHD_Daemon *)&pMVar14->per_ip_connection_count" identifier = (cast_expression "(MHD_Daemon *)&pMVar14->per_ip_connection_count" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pMVar14->per_ip_connection_count" & (field_expression "pMVar14->per_ip_connection_count" identifier -> field_identifier)))) ;) (expression_statement "puVar11 = (undefined4 *)tfind(pMVar19,(void **)pMVar14,MHD_ip_addr_compare);" (assignment_expression "puVar11 = (undefined4 *)tfind(pMVar19,(void **)pMVar14,MHD_ip_addr_compare)" identifier = (cast_expression "(undefined4 *)tfind(pMVar19,(void **)pMVar14,MHD_ip_addr_compare)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "tfind(pMVar19,(void **)pMVar14,MHD_ip_addr_compare)" identifier (argument_list "(pMVar19,(void **)pMVar14,MHD_ip_addr_compare)" ( identifier , (cast_expression "(void **)pMVar14" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , identifier ))))) ;) (expression_statement "puVar30 = &stack0xffffffb4;" (assignment_expression "puVar30 = &stack0xffffffb4" identifier = (pointer_expression "&stack0xffffffb4" & identifier)) ;) (if_statement "if (puVar11 != (undefined4 *)0x0) {\n      pMVar19 = (MHD_Connection *)*puVar11;\n      if (pMVar19->prevX != (MHD_Connection *)0x0) {\n        puVar32 = &pMVar19->prevX[-1].field_0xfb;\n        pMVar19->prevX = (MHD_Connection *)puVar32;\n        if (puVar32 == (undefined1 *)0x0) goto LAB_0001a978;\n        while (iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0) {\n          MHD_ip_count_unlock(in_stack_ffffffb4);\n          pcVar28 = extraout_EDX;\nLAB_0001a978:\n          tdelete(pMVar19,(void **)pMVar14,pcVar28);\n          free(pMVar19);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar30 = &stack0xffffffa4;\n      (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1e2,\n                   "Previously-added IP address had counter of zero\n");\n    }" if (parenthesized_expression "(puVar11 != (undefined4 *)0x0)" ( (binary_expression "puVar11 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pMVar19 = (MHD_Connection *)*puVar11;\n      if (pMVar19->prevX != (MHD_Connection *)0x0) {\n        puVar32 = &pMVar19->prevX[-1].field_0xfb;\n        pMVar19->prevX = (MHD_Connection *)puVar32;\n        if (puVar32 == (undefined1 *)0x0) goto LAB_0001a978;\n        while (iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0) {\n          MHD_ip_count_unlock(in_stack_ffffffb4);\n          pcVar28 = extraout_EDX;\nLAB_0001a978:\n          tdelete(pMVar19,(void **)pMVar14,pcVar28);\n          free(pMVar19);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar30 = &stack0xffffffa4;\n      (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1e2,\n                   "Previously-added IP address had counter of zero\n");\n    }" { (expression_statement "pMVar19 = (MHD_Connection *)*puVar11;" (assignment_expression "pMVar19 = (MHD_Connection *)*puVar11" identifier = (cast_expression "(MHD_Connection *)*puVar11" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (if_statement "if (pMVar19->prevX != (MHD_Connection *)0x0) {\n        puVar32 = &pMVar19->prevX[-1].field_0xfb;\n        pMVar19->prevX = (MHD_Connection *)puVar32;\n        if (puVar32 == (undefined1 *)0x0) goto LAB_0001a978;\n        while (iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0) {\n          MHD_ip_count_unlock(in_stack_ffffffb4);\n          pcVar28 = extraout_EDX;\nLAB_0001a978:\n          tdelete(pMVar19,(void **)pMVar14,pcVar28);\n          free(pMVar19);\n        }\n        goto LAB_0001a89b;\n      }" if (parenthesized_expression "(pMVar19->prevX != (MHD_Connection *)0x0)" ( (binary_expression "pMVar19->prevX != (MHD_Connection *)0x0" (field_expression "pMVar19->prevX" identifier -> field_identifier) != (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar32 = &pMVar19->prevX[-1].field_0xfb;\n        pMVar19->prevX = (MHD_Connection *)puVar32;\n        if (puVar32 == (undefined1 *)0x0) goto LAB_0001a978;\n        while (iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0) {\n          MHD_ip_count_unlock(in_stack_ffffffb4);\n          pcVar28 = extraout_EDX;\nLAB_0001a978:\n          tdelete(pMVar19,(void **)pMVar14,pcVar28);\n          free(pMVar19);\n        }\n        goto LAB_0001a89b;\n      }" { (expression_statement "puVar32 = &pMVar19->prevX[-1].field_0xfb;" (assignment_expression "puVar32 = &pMVar19->prevX[-1].field_0xfb" identifier = (pointer_expression "&pMVar19->prevX[-1].field_0xfb" & (field_expression "pMVar19->prevX[-1].field_0xfb" (subscript_expression "pMVar19->prevX[-1]" (field_expression "pMVar19->prevX" identifier -> field_identifier) [ number_literal ]) . field_identifier))) ;) (expression_statement "pMVar19->prevX = (MHD_Connection *)puVar32;" (assignment_expression "pMVar19->prevX = (MHD_Connection *)puVar32" (field_expression "pMVar19->prevX" identifier -> field_identifier) = (cast_expression "(MHD_Connection *)puVar32" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (puVar32 == (undefined1 *)0x0) goto LAB_0001a978;" if (parenthesized_expression "(puVar32 == (undefined1 *)0x0)" ( (binary_expression "puVar32 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001a978;" goto statement_identifier ;)) (while_statement "while (iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0) {\n          MHD_ip_count_unlock(in_stack_ffffffb4);\n          pcVar28 = extraout_EDX;\nLAB_0001a978:\n          tdelete(pMVar19,(void **)pMVar14,pcVar28);\n          free(pMVar19);\n        }" while (parenthesized_expression "(iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0)" ( (comma_expression "iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1), iVar12 != 0" (assignment_expression "iVar12 = pthread_mutex_unlock((pthread_mutex_t *)pMVar1)" identifier = (call_expression "pthread_mutex_unlock((pthread_mutex_t *)pMVar1)" identifier (argument_list "((pthread_mutex_t *)pMVar1)" ( (cast_expression "(pthread_mutex_t *)pMVar1" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar12 != 0" identifier != number_literal)) )) (compound_statement "{\n          MHD_ip_count_unlock(in_stack_ffffffb4);\n          pcVar28 = extraout_EDX;\nLAB_0001a978:\n          tdelete(pMVar19,(void **)pMVar14,pcVar28);\n          free(pMVar19);\n        }" { (expression_statement "MHD_ip_count_unlock(in_stack_ffffffb4);" (call_expression "MHD_ip_count_unlock(in_stack_ffffffb4)" identifier (argument_list "(in_stack_ffffffb4)" ( identifier ))) ;) (expression_statement "pcVar28 = extraout_EDX;" (assignment_expression "pcVar28 = extraout_EDX" identifier = identifier) ;) (labeled_statement "LAB_0001a978:\n          tdelete(pMVar19,(void **)pMVar14,pcVar28);" statement_identifier : (expression_statement "tdelete(pMVar19,(void **)pMVar14,pcVar28);" (call_expression "tdelete(pMVar19,(void **)pMVar14,pcVar28)" identifier (argument_list "(pMVar19,(void **)pMVar14,pcVar28)" ( identifier , (cast_expression "(void **)pMVar14" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , identifier ))) ;)) (expression_statement "free(pMVar19);" (call_expression "free(pMVar19)" identifier (argument_list "(pMVar19)" ( identifier ))) ;) })) (goto_statement "goto LAB_0001a89b;" goto statement_identifier ;) })) (expression_statement "puVar30 = &stack0xffffffa4;" (assignment_expression "puVar30 = &stack0xffffffa4" identifier = (pointer_expression "&stack0xffffffa4" & identifier)) ;) (expression_statement "(*mhd_panic)(mhd_panic_cls,"daemon.c",0x1e2,\n                   "Previously-added IP address had counter of zero\n");" (call_expression "(*mhd_panic)(mhd_panic_cls,"daemon.c",0x1e2,\n                   "Previously-added IP address had counter of zero\n")" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(mhd_panic_cls,"daemon.c",0x1e2,\n                   "Previously-added IP address had counter of zero\n")" ( identifier , (string_literal ""daemon.c"" " string_content ") , number_literal , (string_literal ""Previously-added IP address had counter of zero\n"" " string_content escape_sequence ") ))) ;) })) (expression_statement "*(char **)(puVar30 + -4) = "Failed to find previously-added IP address\n";" (assignment_expression "*(char **)(puVar30 + -4) = "Failed to find previously-added IP address\n"" (pointer_expression "*(char **)(puVar30 + -4)" * (cast_expression "(char **)(puVar30 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + -4)" ( (binary_expression "puVar30 + -4" identifier + number_literal) )))) = (string_literal ""Failed to find previously-added IP address\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar30 + -8) = 0x1dc;" (assignment_expression "*(undefined4 *)(puVar30 + -8) = 0x1dc" (pointer_expression "*(undefined4 *)(puVar30 + -8)" * (cast_expression "(undefined4 *)(puVar30 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + -8)" ( (binary_expression "puVar30 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar30 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar30 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar30 + -0xc)" * (cast_expression "(char **)(puVar30 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + -0xc)" ( (binary_expression "puVar30 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar31 = (undefined4 *)(puVar30 + -0x10);" (assignment_expression "puVar31 = (undefined4 *)(puVar30 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar30 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + -0x10)" ( (binary_expression "puVar30 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(void **)(puVar30 + -0x10) = mhd_panic_cls;" (assignment_expression "*(void **)(puVar30 + -0x10) = mhd_panic_cls" (pointer_expression "*(void **)(puVar30 + -0x10)" * (cast_expression "(void **)(puVar30 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + -0x10)" ( (binary_expression "puVar30 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar30 + -0x14) = 0x1a9d3;" (assignment_expression "*(undefined4 *)(puVar30 + -0x14) = 0x1a9d3" (pointer_expression "*(undefined4 *)(puVar30 + -0x14)" * (cast_expression "(undefined4 *)(puVar30 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + -0x14)" ( (binary_expression "puVar30 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pMVar10 = (MHD_Daemon *)\n              (*mhd_panic)(*(void **)(puVar30 + -0x10),*(char **)(puVar30 + -0xc),\n                           *(uint *)(puVar30 + -8),*(char **)(puVar30 + -4));" (assignment_expression "pMVar10 = (MHD_Daemon *)\n              (*mhd_panic)(*(void **)(puVar30 + -0x10),*(char **)(puVar30 + -0xc),\n                           *(uint *)(puVar30 + -8),*(char **)(puVar30 + -4))" identifier = (cast_expression "(MHD_Daemon *)\n              (*mhd_panic)(*(void **)(puVar30 + -0x10),*(char **)(puVar30 + -0xc),\n                           *(uint *)(puVar30 + -8),*(char **)(puVar30 + -4))" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*mhd_panic)(*(void **)(puVar30 + -0x10),*(char **)(puVar30 + -0xc),\n                           *(uint *)(puVar30 + -8),*(char **)(puVar30 + -4))" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(*(void **)(puVar30 + -0x10),*(char **)(puVar30 + -0xc),\n                           *(uint *)(puVar30 + -8),*(char **)(puVar30 + -4))" ( (pointer_expression "*(void **)(puVar30 + -0x10)" * (cast_expression "(void **)(puVar30 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + -0x10)" ( (binary_expression "puVar30 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar30 + -0xc)" * (cast_expression "(char **)(puVar30 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + -0xc)" ( (binary_expression "puVar30 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar30 + -8)" * (cast_expression "(uint *)(puVar30 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar30 + -8)" ( (binary_expression "puVar30 + -8" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar30 + -4)" * (cast_expression "(char **)(puVar30 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar30 + -4)" ( (binary_expression "puVar30 + -4" identifier + number_literal) )))) ))))) ;) })) (expression_statement "puVar31[-1] = 0x1a9d8;" (assignment_expression "puVar31[-1] = 0x1a9d8" (subscript_expression "puVar31[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "MHD_ip_count_lock((MHD_Daemon *)*puVar31);" (call_expression "MHD_ip_count_lock((MHD_Daemon *)*puVar31)" identifier (argument_list "((MHD_Daemon *)*puVar31)" ( (cast_expression "(MHD_Daemon *)*puVar31" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar31" * identifier)) ))) ;) (expression_statement "puVar31[-1] = pMVar19;" (assignment_expression "puVar31[-1] = pMVar19" (subscript_expression "puVar31[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar31[-2] = pMVar1;" (assignment_expression "puVar31[-2] = pMVar1" (subscript_expression "puVar31[-2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar31[-3] = pMVar14;" (assignment_expression "puVar31[-3] = pMVar14" (subscript_expression "puVar31[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar31[-4] = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "puVar31[-4] = &_GLOBAL_OFFSET_TABLE_" (subscript_expression "puVar31[-4]" identifier [ number_literal ]) = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (expression_statement "puVar31[-5] = 0x1a9eb;" (assignment_expression "puVar31[-5] = 0x1a9eb" (subscript_expression "puVar31[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar29 = puVar31[-5];" (assignment_expression "iVar29 = puVar31[-5]" identifier = (subscript_expression "puVar31[-5]" identifier [ number_literal ])) ;) (expression_statement "puVar31[-0x10] = extraout_ECX;" (assignment_expression "puVar31[-0x10] = extraout_ECX" (subscript_expression "puVar31[-0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar31[-0x11] = extraout_EDX_00;" (assignment_expression "puVar31[-0x11] = extraout_EDX_00" (subscript_expression "puVar31[-0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar31[-0xf] = puVar31[3];" (assignment_expression "puVar31[-0xf] = puVar31[3]" (subscript_expression "puVar31[-0xf]" identifier [ number_literal ]) = (subscript_expression "puVar31[3]" identifier [ number_literal ])) ;) (expression_statement "puVar31[-0xe] = puVar31[2];" (assignment_expression "puVar31[-0xe] = puVar31[2]" (subscript_expression "puVar31[-0xe]" identifier [ number_literal ]) = (subscript_expression "puVar31[2]" identifier [ number_literal ])) ;) (expression_statement "puVar31[-8] = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "puVar31[-8] = *(undefined4 *)(in_GS_OFFSET + 0x14)" (subscript_expression "puVar31[-8]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puVar11 = puVar31 + -0x13;" (assignment_expression "puVar11 = puVar31 + -0x13" identifier = (binary_expression "puVar31 + -0x13" identifier + number_literal)) ;) (if_statement "if (((char)puVar31[2] != '\0') &&\n     (pMVar14 = pMVar10->worker_pool, puVar11 = puVar31 + -0x13, pMVar14 != (MHD_Daemon *)0x0)) {\n    uVar9 = pMVar10->worker_pool_size;\n    if (uVar9 != 0) {\n      pMVar10 = pMVar14 + extraout_EDX_00 % uVar9;\n      if (pMVar10->connection_limit <= pMVar10->connections) {\n        pMVar15 = (MHD_Connection *)puVar31[-0x11];\n        pMVar19 = (MHD_Connection *)((int)&pMVar15->nextE + uVar9);\n        do {\n          pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);\n          if (pMVar19 == pMVar15) goto LAB_0001aa90;\n          pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;\n        } while (pMVar10->connection_limit <= pMVar10->connections);\n      }\n      puVar31[-0x15] = (uint)*(byte *)(puVar31 + -0xf);\n      puVar31[-0x16] = 1;\n      puVar31[-0x17] = puVar31[1];\n      puVar31[-0x18] = 0x1ae14;\n      internal_add_connection\n                (pMVar10,puVar31[-0x11],(sockaddr *)puVar31[-0x10],puVar31[-0x17],\n                 *(_Bool *)(puVar31 + -0x16),*(_Bool *)(puVar31 + -0x15));\n      puVar11 = puVar31 + -0x13;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar11 = puVar31 + -0x17;\n    puVar31[-0x17] = puVar31[-0x11];\n    puVar31[-0x18] = 0x1aa9c;\n    pMVar10 = (MHD_Daemon *)close(puVar31[-0x17]);\n    puVar31[-0x18] = 0x1aaa3;\n    piVar13 = __errno_location();\n    puVar33 = puVar31 + -0x13;\n    if ((pMVar10 != (MHD_Daemon *)0x0) && (puVar33 = puVar31 + -0x13, *piVar13 == 9)) {\n      puVar31[-0x14] = iVar29 + 0x1066d;\n      puVar31[-0x15] = 0x900;\n      puVar31[-0x16] = iVar29 + 0x10659;\n      puVar31[-0x17] = *(undefined4 *)(iVar29 + 0x1a67d);\n      pcVar28 = *(code **)(iVar29 + 0x1a681);\n      puVar31[-0x18] = 0x1aad6;\n      (*pcVar28)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar11 = puVar33;\n    *piVar13 = 0x17;\nLAB_0001ab43:\n    if (*(int *)((int)puVar11 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)puVar11 + -4) = 0x1b4e1;\n      __stack_chk_fail_local();\n    }\n    return;\n  }" if (parenthesized_expression "(((char)puVar31[2] != '\0') &&\n     (pMVar14 = pMVar10->worker_pool, puVar11 = puVar31 + -0x13, pMVar14 != (MHD_Daemon *)0x0))" ( (binary_expression "((char)puVar31[2] != '\0') &&\n     (pMVar14 = pMVar10->worker_pool, puVar11 = puVar31 + -0x13, pMVar14 != (MHD_Daemon *)0x0)" (parenthesized_expression "((char)puVar31[2] != '\0')" ( (binary_expression "(char)puVar31[2] != '\0'" (cast_expression "(char)puVar31[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "puVar31[2]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(pMVar14 = pMVar10->worker_pool, puVar11 = puVar31 + -0x13, pMVar14 != (MHD_Daemon *)0x0)" ( (comma_expression "pMVar14 = pMVar10->worker_pool, puVar11 = puVar31 + -0x13, pMVar14 != (MHD_Daemon *)0x0" (assignment_expression "pMVar14 = pMVar10->worker_pool" identifier = (field_expression "pMVar10->worker_pool" identifier -> field_identifier)) , (comma_expression "puVar11 = puVar31 + -0x13, pMVar14 != (MHD_Daemon *)0x0" (assignment_expression "puVar11 = puVar31 + -0x13" identifier = (binary_expression "puVar31 + -0x13" identifier + number_literal)) , (binary_expression "pMVar14 != (MHD_Daemon *)0x0" identifier != (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (compound_statement "{\n    uVar9 = pMVar10->worker_pool_size;\n    if (uVar9 != 0) {\n      pMVar10 = pMVar14 + extraout_EDX_00 % uVar9;\n      if (pMVar10->connection_limit <= pMVar10->connections) {\n        pMVar15 = (MHD_Connection *)puVar31[-0x11];\n        pMVar19 = (MHD_Connection *)((int)&pMVar15->nextE + uVar9);\n        do {\n          pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);\n          if (pMVar19 == pMVar15) goto LAB_0001aa90;\n          pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;\n        } while (pMVar10->connection_limit <= pMVar10->connections);\n      }\n      puVar31[-0x15] = (uint)*(byte *)(puVar31 + -0xf);\n      puVar31[-0x16] = 1;\n      puVar31[-0x17] = puVar31[1];\n      puVar31[-0x18] = 0x1ae14;\n      internal_add_connection\n                (pMVar10,puVar31[-0x11],(sockaddr *)puVar31[-0x10],puVar31[-0x17],\n                 *(_Bool *)(puVar31 + -0x16),*(_Bool *)(puVar31 + -0x15));\n      puVar11 = puVar31 + -0x13;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar11 = puVar31 + -0x17;\n    puVar31[-0x17] = puVar31[-0x11];\n    puVar31[-0x18] = 0x1aa9c;\n    pMVar10 = (MHD_Daemon *)close(puVar31[-0x17]);\n    puVar31[-0x18] = 0x1aaa3;\n    piVar13 = __errno_location();\n    puVar33 = puVar31 + -0x13;\n    if ((pMVar10 != (MHD_Daemon *)0x0) && (puVar33 = puVar31 + -0x13, *piVar13 == 9)) {\n      puVar31[-0x14] = iVar29 + 0x1066d;\n      puVar31[-0x15] = 0x900;\n      puVar31[-0x16] = iVar29 + 0x10659;\n      puVar31[-0x17] = *(undefined4 *)(iVar29 + 0x1a67d);\n      pcVar28 = *(code **)(iVar29 + 0x1a681);\n      puVar31[-0x18] = 0x1aad6;\n      (*pcVar28)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar11 = puVar33;\n    *piVar13 = 0x17;\nLAB_0001ab43:\n    if (*(int *)((int)puVar11 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)puVar11 + -4) = 0x1b4e1;\n      __stack_chk_fail_local();\n    }\n    return;\n  }" { (expression_statement "uVar9 = pMVar10->worker_pool_size;" (assignment_expression "uVar9 = pMVar10->worker_pool_size" identifier = (field_expression "pMVar10->worker_pool_size" identifier -> field_identifier)) ;) (if_statement "if (uVar9 != 0) {\n      pMVar10 = pMVar14 + extraout_EDX_00 % uVar9;\n      if (pMVar10->connection_limit <= pMVar10->connections) {\n        pMVar15 = (MHD_Connection *)puVar31[-0x11];\n        pMVar19 = (MHD_Connection *)((int)&pMVar15->nextE + uVar9);\n        do {\n          pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);\n          if (pMVar19 == pMVar15) goto LAB_0001aa90;\n          pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;\n        } while (pMVar10->connection_limit <= pMVar10->connections);\n      }\n      puVar31[-0x15] = (uint)*(byte *)(puVar31 + -0xf);\n      puVar31[-0x16] = 1;\n      puVar31[-0x17] = puVar31[1];\n      puVar31[-0x18] = 0x1ae14;\n      internal_add_connection\n                (pMVar10,puVar31[-0x11],(sockaddr *)puVar31[-0x10],puVar31[-0x17],\n                 *(_Bool *)(puVar31 + -0x16),*(_Bool *)(puVar31 + -0x15));\n      puVar11 = puVar31 + -0x13;\n      goto LAB_0001ab43;\n    }" if (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      pMVar10 = pMVar14 + extraout_EDX_00 % uVar9;\n      if (pMVar10->connection_limit <= pMVar10->connections) {\n        pMVar15 = (MHD_Connection *)puVar31[-0x11];\n        pMVar19 = (MHD_Connection *)((int)&pMVar15->nextE + uVar9);\n        do {\n          pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);\n          if (pMVar19 == pMVar15) goto LAB_0001aa90;\n          pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;\n        } while (pMVar10->connection_limit <= pMVar10->connections);\n      }\n      puVar31[-0x15] = (uint)*(byte *)(puVar31 + -0xf);\n      puVar31[-0x16] = 1;\n      puVar31[-0x17] = puVar31[1];\n      puVar31[-0x18] = 0x1ae14;\n      internal_add_connection\n                (pMVar10,puVar31[-0x11],(sockaddr *)puVar31[-0x10],puVar31[-0x17],\n                 *(_Bool *)(puVar31 + -0x16),*(_Bool *)(puVar31 + -0x15));\n      puVar11 = puVar31 + -0x13;\n      goto LAB_0001ab43;\n    }" { (expression_statement "pMVar10 = pMVar14 + extraout_EDX_00 % uVar9;" (assignment_expression "pMVar10 = pMVar14 + extraout_EDX_00 % uVar9" identifier = (binary_expression "pMVar14 + extraout_EDX_00 % uVar9" identifier + (binary_expression "extraout_EDX_00 % uVar9" identifier % identifier))) ;) (if_statement "if (pMVar10->connection_limit <= pMVar10->connections) {\n        pMVar15 = (MHD_Connection *)puVar31[-0x11];\n        pMVar19 = (MHD_Connection *)((int)&pMVar15->nextE + uVar9);\n        do {\n          pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);\n          if (pMVar19 == pMVar15) goto LAB_0001aa90;\n          pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;\n        } while (pMVar10->connection_limit <= pMVar10->connections);\n      }" if (parenthesized_expression "(pMVar10->connection_limit <= pMVar10->connections)" ( (binary_expression "pMVar10->connection_limit <= pMVar10->connections" (field_expression "pMVar10->connection_limit" identifier -> field_identifier) <= (field_expression "pMVar10->connections" identifier -> field_identifier)) )) (compound_statement "{\n        pMVar15 = (MHD_Connection *)puVar31[-0x11];\n        pMVar19 = (MHD_Connection *)((int)&pMVar15->nextE + uVar9);\n        do {\n          pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);\n          if (pMVar19 == pMVar15) goto LAB_0001aa90;\n          pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;\n        } while (pMVar10->connection_limit <= pMVar10->connections);\n      }" { (expression_statement "pMVar15 = (MHD_Connection *)puVar31[-0x11];" (assignment_expression "pMVar15 = (MHD_Connection *)puVar31[-0x11]" identifier = (cast_expression "(MHD_Connection *)puVar31[-0x11]" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar31[-0x11]" identifier [ number_literal ]))) ;) (expression_statement "pMVar19 = (MHD_Connection *)((int)&pMVar15->nextE + uVar9);" (assignment_expression "pMVar19 = (MHD_Connection *)((int)&pMVar15->nextE + uVar9)" identifier = (cast_expression "(MHD_Connection *)((int)&pMVar15->nextE + uVar9)" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pMVar15->nextE + uVar9)" ( (binary_expression "(int)&pMVar15->nextE + uVar9" (cast_expression "(int)&pMVar15->nextE" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar15->nextE" & (field_expression "pMVar15->nextE" identifier -> field_identifier))) + identifier) )))) ;) (do_statement "do {\n          pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);\n          if (pMVar19 == pMVar15) goto LAB_0001aa90;\n          pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;\n        } while (pMVar10->connection_limit <= pMVar10->connections);" do (compound_statement "{\n          pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);\n          if (pMVar19 == pMVar15) goto LAB_0001aa90;\n          pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;\n        }" { (expression_statement "pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1);" (assignment_expression "pMVar15 = (MHD_Connection *)((int)&pMVar15->nextE + 1)" identifier = (cast_expression "(MHD_Connection *)((int)&pMVar15->nextE + 1)" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pMVar15->nextE + 1)" ( (binary_expression "(int)&pMVar15->nextE + 1" (cast_expression "(int)&pMVar15->nextE" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar15->nextE" & (field_expression "pMVar15->nextE" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (pMVar19 == pMVar15) goto LAB_0001aa90;" if (parenthesized_expression "(pMVar19 == pMVar15)" ( (binary_expression "pMVar19 == pMVar15" identifier == identifier) )) (goto_statement "goto LAB_0001aa90;" goto statement_identifier ;)) (expression_statement "pMVar10 = pMVar14 + (uint)pMVar15 % uVar9;" (assignment_expression "pMVar10 = pMVar14 + (uint)pMVar15 % uVar9" identifier = (binary_expression "pMVar14 + (uint)pMVar15 % uVar9" identifier + (binary_expression "(uint)pMVar15 % uVar9" (cast_expression "(uint)pMVar15" ( (type_descriptor "uint" type_identifier) ) identifier) % identifier))) ;) }) while (parenthesized_expression "(pMVar10->connection_limit <= pMVar10->connections)" ( (binary_expression "pMVar10->connection_limit <= pMVar10->connections" (field_expression "pMVar10->connection_limit" identifier -> field_identifier) <= (field_expression "pMVar10->connections" identifier -> field_identifier)) )) ;) })) (expression_statement "puVar31[-0x15] = (uint)*(byte *)(puVar31 + -0xf);" (assignment_expression "puVar31[-0x15] = (uint)*(byte *)(puVar31 + -0xf)" (subscript_expression "puVar31[-0x15]" identifier [ number_literal ]) = (binary_expression "(uint)*(byte *)(puVar31 + -0xf)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(puVar31 + -0xf)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + -0xf)" ( (binary_expression "puVar31 + -0xf" identifier + number_literal) ))))) ;) (expression_statement "puVar31[-0x16] = 1;" (assignment_expression "puVar31[-0x16] = 1" (subscript_expression "puVar31[-0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar31[-0x17] = puVar31[1];" (assignment_expression "puVar31[-0x17] = puVar31[1]" (subscript_expression "puVar31[-0x17]" identifier [ number_literal ]) = (subscript_expression "puVar31[1]" identifier [ number_literal ])) ;) (expression_statement "puVar31[-0x18] = 0x1ae14;" (assignment_expression "puVar31[-0x18] = 0x1ae14" (subscript_expression "puVar31[-0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "internal_add_connection\n                (pMVar10,puVar31[-0x11],(sockaddr *)puVar31[-0x10],puVar31[-0x17],\n                 *(_Bool *)(puVar31 + -0x16),*(_Bool *)(puVar31 + -0x15));" (call_expression "internal_add_connection\n                (pMVar10,puVar31[-0x11],(sockaddr *)puVar31[-0x10],puVar31[-0x17],\n                 *(_Bool *)(puVar31 + -0x16),*(_Bool *)(puVar31 + -0x15))" identifier (argument_list "(pMVar10,puVar31[-0x11],(sockaddr *)puVar31[-0x10],puVar31[-0x17],\n                 *(_Bool *)(puVar31 + -0x16),*(_Bool *)(puVar31 + -0x15))" ( identifier , (subscript_expression "puVar31[-0x11]" identifier [ number_literal ]) , (cast_expression "(sockaddr *)puVar31[-0x10]" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar31[-0x10]" identifier [ number_literal ])) , (subscript_expression "puVar31[-0x17]" identifier [ number_literal ]) , (pointer_expression "*(_Bool *)(puVar31 + -0x16)" * (cast_expression "(_Bool *)(puVar31 + -0x16)" ( (type_descriptor "_Bool *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + -0x16)" ( (binary_expression "puVar31 + -0x16" identifier + number_literal) )))) , (pointer_expression "*(_Bool *)(puVar31 + -0x15)" * (cast_expression "(_Bool *)(puVar31 + -0x15)" ( (type_descriptor "_Bool *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31 + -0x15)" ( (binary_expression "puVar31 + -0x15" identifier + number_literal) )))) ))) ;) (expression_statement "puVar11 = puVar31 + -0x13;" (assignment_expression "puVar11 = puVar31 + -0x13" identifier = (binary_expression "puVar31 + -0x13" identifier + number_literal)) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (labeled_statement "LAB_0001aa90:\n    puVar11 = puVar31 + -0x17;" statement_identifier : (expression_statement "puVar11 = puVar31 + -0x17;" (assignment_expression "puVar11 = puVar31 + -0x17" identifier = (binary_expression "puVar31 + -0x17" identifier + number_literal)) ;)) (expression_statement "puVar31[-0x17] = puVar31[-0x11];" (assignment_expression "puVar31[-0x17] = puVar31[-0x11]" (subscript_expression "puVar31[-0x17]" identifier [ number_literal ]) = (subscript_expression "puVar31[-0x11]" identifier [ number_literal ])) ;) (expression_statement "puVar31[-0x18] = 0x1aa9c;" (assignment_expression "puVar31[-0x18] = 0x1aa9c" (subscript_expression "puVar31[-0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pMVar10 = (MHD_Daemon *)close(puVar31[-0x17]);" (assignment_expression "pMVar10 = (MHD_Daemon *)close(puVar31[-0x17])" identifier = (cast_expression "(MHD_Daemon *)close(puVar31[-0x17])" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "close(puVar31[-0x17])" identifier (argument_list "(puVar31[-0x17])" ( (subscript_expression "puVar31[-0x17]" identifier [ number_literal ]) ))))) ;) (expression_statement "puVar31[-0x18] = 0x1aaa3;" (assignment_expression "puVar31[-0x18] = 0x1aaa3" (subscript_expression "puVar31[-0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar33 = puVar31 + -0x13;" (assignment_expression "puVar33 = puVar31 + -0x13" identifier = (binary_expression "puVar31 + -0x13" identifier + number_literal)) ;) (if_statement "if ((pMVar10 != (MHD_Daemon *)0x0) && (puVar33 = puVar31 + -0x13, *piVar13 == 9)) {\n      puVar31[-0x14] = iVar29 + 0x1066d;\n      puVar31[-0x15] = 0x900;\n      puVar31[-0x16] = iVar29 + 0x10659;\n      puVar31[-0x17] = *(undefined4 *)(iVar29 + 0x1a67d);\n      pcVar28 = *(code **)(iVar29 + 0x1a681);\n      puVar31[-0x18] = 0x1aad6;\n      (*pcVar28)();\n      goto LAB_0001aae0;\n    }" if (parenthesized_expression "((pMVar10 != (MHD_Daemon *)0x0) && (puVar33 = puVar31 + -0x13, *piVar13 == 9))" ( (binary_expression "(pMVar10 != (MHD_Daemon *)0x0) && (puVar33 = puVar31 + -0x13, *piVar13 == 9)" (parenthesized_expression "(pMVar10 != (MHD_Daemon *)0x0)" ( (binary_expression "pMVar10 != (MHD_Daemon *)0x0" identifier != (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar33 = puVar31 + -0x13, *piVar13 == 9)" ( (comma_expression "puVar33 = puVar31 + -0x13, *piVar13 == 9" (assignment_expression "puVar33 = puVar31 + -0x13" identifier = (binary_expression "puVar31 + -0x13" identifier + number_literal)) , (binary_expression "*piVar13 == 9" (pointer_expression "*piVar13" * identifier) == number_literal)) ))) )) (compound_statement "{\n      puVar31[-0x14] = iVar29 + 0x1066d;\n      puVar31[-0x15] = 0x900;\n      puVar31[-0x16] = iVar29 + 0x10659;\n      puVar31[-0x17] = *(undefined4 *)(iVar29 + 0x1a67d);\n      pcVar28 = *(code **)(iVar29 + 0x1a681);\n      puVar31[-0x18] = 0x1aad6;\n      (*pcVar28)();\n      goto LAB_0001aae0;\n    }" { (expression_statement "puVar31[-0x14] = iVar29 + 0x1066d;" (assignment_expression "puVar31[-0x14] = iVar29 + 0x1066d" (subscript_expression "puVar31[-0x14]" identifier [ number_literal ]) = (binary_expression "iVar29 + 0x1066d" identifier + number_literal)) ;) (expression_statement "puVar31[-0x15] = 0x900;" (assignment_expression "puVar31[-0x15] = 0x900" (subscript_expression "puVar31[-0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar31[-0x16] = iVar29 + 0x10659;" (assignment_expression "puVar31[-0x16] = iVar29 + 0x10659" (subscript_expression "puVar31[-0x16]" identifier [ number_literal ]) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar31[-0x17] = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "puVar31[-0x17] = *(undefined4 *)(iVar29 + 0x1a67d)" (subscript_expression "puVar31[-0x17]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "puVar31[-0x18] = 0x1aad6;" (assignment_expression "puVar31[-0x18] = 0x1aad6" (subscript_expression "puVar31[-0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001aae0;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ab3b:\n    puVar11 = puVar33;" statement_identifier : (expression_statement "puVar11 = puVar33;" (assignment_expression "puVar11 = puVar33" identifier = identifier) ;)) (expression_statement "*piVar13 = 0x17;" (assignment_expression "*piVar13 = 0x17" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (labeled_statement "LAB_0001ab43:\n    if (*(int *)((int)puVar11 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)puVar11 + -4) = 0x1b4e1;\n      __stack_chk_fail_local();\n    }" statement_identifier : (if_statement "if (*(int *)((int)puVar11 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)puVar11 + -4) = 0x1b4e1;\n      __stack_chk_fail_local();\n    }" if (parenthesized_expression "(*(int *)((int)puVar11 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)puVar11 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)puVar11 + 0x2c)" * (cast_expression "(int *)((int)puVar11 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x2c)" ( (binary_expression "(int)puVar11 + 0x2c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)puVar11 + -4) = 0x1b4e1;\n      __stack_chk_fail_local();\n    }" { comment (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1b4e1;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1b4e1" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })) (labeled_statement "LAB_0001aae0:\n  if ((*(int *)((int)puVar11 + 8) < 0x400) ||\n     ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n    puVar33 = puVar11;\n    pMVar15 = pMVar19;\n    pMVar14 = pMVar10;\n    pMVar23 = pMVar10;\n    if (pMVar10->connections != pMVar10->connection_limit) {\n      do {\n        pMVar14 = pMVar23;\n        pMVar23 = pMVar14->master;\n      } while (pMVar14->master != (MHD_Daemon *)0x0);\n      if (pMVar14->per_ip_connection_limit != 0) {\n        *(undefined4 *)((int)puVar11 + -0xc) = 1;\n        *(undefined4 *)((int)puVar11 + -0x10) = 0x18;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c;\n        pMVar19 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        pMVar15 = pMVar19;\n        if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001ab0a;\n        if (*(int *)((int)puVar11 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)((int)puVar11 + 0x50) == 0x1c) {\n          iVar12 = *(int *)((int)puVar11 + 0xc);\n          pMVar19->nextE = (MHD_Connection *)0xa;\n          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);\n          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);\n          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);\n          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);\n          pMVar19->nextX = pMVar15;\n          goto LAB_0001b06b;\n        }\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8;\n        free(*(void **)((int)puVar11 + -0x10));\n      }\n      do {\n        p_Var2 = pMVar10->apc;\n        if (p_Var2 != (MHD_AcceptPolicyCallback)0x0) {\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;\n          pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));\n          if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)((int)puVar11 + -0xc) = 0xfc;\n        *(undefined4 *)((int)puVar11 + -0x10) = 1;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa;\n        pMVar15 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        if (pMVar15 == (MHD_Connection *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          pMVar19 = (MHD_Connection *)pMVar14->default_handler;\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;\n          goto LAB_0001ab43;\n        }\n        *(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2;\n        pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->pool = pMVar16;\n        if (pMVar16 == (MemoryPool *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;\n          goto LAB_0001ab43;\n        }\n        pMVar15->connection_timeout = pMVar10->connection_timeout;\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8;\n        psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->addr = psVar17;\n        if (psVar17 == (sockaddr *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          p_Var6 = pMVar14->default_handler;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;\n          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n        puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n        *(sockaddr **)((int)puVar11 + -0x10) = psVar17;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        sVar3 = *(socklen_t *)((int)puVar11 + 0x50);\n        pMVar15->daemon = pMVar10;\n        pMVar15->addr_len = sVar3;\n        pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8);\n        pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e;\n        tVar18 = MHD_monotonic_sec_counter();\n        pMVar15->last_activity = tVar18;\n        if ((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG) {\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;\n          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));\nLAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;\n          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n          puVar33 = puVar11;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }\n          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n          *(undefined4 *)((int)puVar11 + -8) = 0xa67;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          puVar33 = (undefined4 *)((int)puVar11 + -0x10);\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;\n          (*pcVar28)();\n          goto LAB_0001b53e;\n        }\n        pMVar15->tls_state = MHD_TLS_CONN_INIT;\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c;\n        MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10));\n        *(undefined4 *)((int)puVar11 + -0xc) = 0x49;\n        *(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc);\n        *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        gVar7 = pMVar10->cred_type;\n        if (gVar7 == GNUTLS_CRD_CERTIFICATE) {\n          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 1;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (gVar7 == GNUTLS_CRD_PSK) {\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 4;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7;\n        *(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5;\n        *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1affb;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10);\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)((int)puVar11 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;\n          (*pcVar28)();\n          pMVar21 = extraout_EDX_02;\nLAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;\n          puVar11 = (undefined4 *)puVar32;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)((int)puVar11 + -4) = 0x1b029;\n        MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50));\n        *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b034;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0;\n        *(undefined4 *)((int)puVar11 + -0x18) = 0x9c9;\n        *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659;\n        *(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d);\n        pcVar28 = *(code **)(iVar29 + 0x1a681);\n        *(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b;\n        pMVar19 = (MHD_Connection *)(*pcVar28)();\n        puVar11 = (undefined4 *)((int)puVar11 + -0x20);\nLAB_0001b05b:\n        pMVar19->nextE = (MHD_Connection *)0x2;\n        (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =\n             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4);\n        pMVar19 = pMVar15;\nLAB_0001b06b:\n        puVar11[6] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-4] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-5] = 0x1b07e;\n        iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4]);\n        pMVar15 = pMVar19;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        puVar11[-2] = iVar29 + -0xceb;\n        puVar11[-3] = &pMVar14->per_ip_connection_count;\n        puVar11[-4] = pMVar19;\n        puVar11[-5] = 0x1b09d;\n        puVar20 = (undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2]);\n        puVar33 = puVar11;\n        if (puVar20 == (undefined4 *)0x0) {\n          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;\n          puVar11[-4] = pMVar14;\n          puVar11[-5] = 0x1b120;\n          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);\n          puVar11[-4] = puVar11[6];\n          puVar11[-5] = 0x1b12a;\n          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n          if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        pMVar21 = (MHD_Connection *)*puVar20;\n        if (pMVar19 != pMVar21) {\n          puVar11[7] = pMVar21;\n          puVar11[-4] = pMVar19;\n          puVar11[-5] = 0x1b0b7;\n          free((void *)puVar11[-4]);\n          pMVar21 = (MHD_Connection *)puVar11[7];\n        }\n        if ((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX) goto LAB_0001b0f0;\n        pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1);\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0db;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 == 0);\n      do {\n        puVar11[-1] = 0x1b0eb;\n        MHD_ip_count_unlock((MHD_Daemon *)*puVar11);\nLAB_0001b0f0:\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)((int)puVar33 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n    *(MHD_Daemon **)((int)puVar33 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab1a;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar33 + -0x10),*(char **)((int)puVar33 + -0xc));\n    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)((int)puVar33 + 8);\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab24;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar33 + -0x10));\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab2b;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (*piVar13 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)((int)puVar33 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar33 + -8) = 0x93d;\n    *(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;\n    puVar11 = (undefined4 *)((int)puVar33 + -0x10);\n    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1b55d;\n    (*pcVar28)();\n    pMVar19 = pMVar15;\nLAB_0001b55d:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar11 + -8) = 0x950;\n    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b57c;\n    (*pcVar28)();\n    puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b57c:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar11 + -8) = 0x962;\n    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b59b;\n    (*pcVar28)();\n    puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n  }\n  else {\n    *(undefined4 *)((int)puVar11 + -4) = 0x400;\n    pMVar14 = *(MHD_Daemon **)((int)puVar11 + 8);\n    *(MHD_Daemon **)((int)puVar11 + -8) = pMVar14;\n    *(char **)((int)puVar11 + -0xc) = "pthread_self" + iVar29 + 10;\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adc7;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adcf;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar11 + -0x10));\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1add6;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (puVar32 = (undefined1 *)puVar11, *piVar13 != 9)) {\n      *piVar13 = 0x16;\n      goto LAB_0001ab43;\n    }\n  }" statement_identifier : (if_statement "if ((*(int *)((int)puVar11 + 8) < 0x400) ||\n     ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n    puVar33 = puVar11;\n    pMVar15 = pMVar19;\n    pMVar14 = pMVar10;\n    pMVar23 = pMVar10;\n    if (pMVar10->connections != pMVar10->connection_limit) {\n      do {\n        pMVar14 = pMVar23;\n        pMVar23 = pMVar14->master;\n      } while (pMVar14->master != (MHD_Daemon *)0x0);\n      if (pMVar14->per_ip_connection_limit != 0) {\n        *(undefined4 *)((int)puVar11 + -0xc) = 1;\n        *(undefined4 *)((int)puVar11 + -0x10) = 0x18;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c;\n        pMVar19 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        pMVar15 = pMVar19;\n        if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001ab0a;\n        if (*(int *)((int)puVar11 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)((int)puVar11 + 0x50) == 0x1c) {\n          iVar12 = *(int *)((int)puVar11 + 0xc);\n          pMVar19->nextE = (MHD_Connection *)0xa;\n          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);\n          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);\n          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);\n          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);\n          pMVar19->nextX = pMVar15;\n          goto LAB_0001b06b;\n        }\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8;\n        free(*(void **)((int)puVar11 + -0x10));\n      }\n      do {\n        p_Var2 = pMVar10->apc;\n        if (p_Var2 != (MHD_AcceptPolicyCallback)0x0) {\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;\n          pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));\n          if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)((int)puVar11 + -0xc) = 0xfc;\n        *(undefined4 *)((int)puVar11 + -0x10) = 1;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa;\n        pMVar15 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        if (pMVar15 == (MHD_Connection *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          pMVar19 = (MHD_Connection *)pMVar14->default_handler;\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;\n          goto LAB_0001ab43;\n        }\n        *(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2;\n        pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->pool = pMVar16;\n        if (pMVar16 == (MemoryPool *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;\n          goto LAB_0001ab43;\n        }\n        pMVar15->connection_timeout = pMVar10->connection_timeout;\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8;\n        psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->addr = psVar17;\n        if (psVar17 == (sockaddr *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          p_Var6 = pMVar14->default_handler;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;\n          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n        puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n        *(sockaddr **)((int)puVar11 + -0x10) = psVar17;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        sVar3 = *(socklen_t *)((int)puVar11 + 0x50);\n        pMVar15->daemon = pMVar10;\n        pMVar15->addr_len = sVar3;\n        pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8);\n        pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e;\n        tVar18 = MHD_monotonic_sec_counter();\n        pMVar15->last_activity = tVar18;\n        if ((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG) {\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;\n          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));\nLAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;\n          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n          puVar33 = puVar11;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }\n          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n          *(undefined4 *)((int)puVar11 + -8) = 0xa67;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          puVar33 = (undefined4 *)((int)puVar11 + -0x10);\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;\n          (*pcVar28)();\n          goto LAB_0001b53e;\n        }\n        pMVar15->tls_state = MHD_TLS_CONN_INIT;\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c;\n        MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10));\n        *(undefined4 *)((int)puVar11 + -0xc) = 0x49;\n        *(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc);\n        *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        gVar7 = pMVar10->cred_type;\n        if (gVar7 == GNUTLS_CRD_CERTIFICATE) {\n          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 1;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (gVar7 == GNUTLS_CRD_PSK) {\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 4;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7;\n        *(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5;\n        *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1affb;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10);\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)((int)puVar11 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;\n          (*pcVar28)();\n          pMVar21 = extraout_EDX_02;\nLAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;\n          puVar11 = (undefined4 *)puVar32;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)((int)puVar11 + -4) = 0x1b029;\n        MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50));\n        *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b034;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0;\n        *(undefined4 *)((int)puVar11 + -0x18) = 0x9c9;\n        *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659;\n        *(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d);\n        pcVar28 = *(code **)(iVar29 + 0x1a681);\n        *(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b;\n        pMVar19 = (MHD_Connection *)(*pcVar28)();\n        puVar11 = (undefined4 *)((int)puVar11 + -0x20);\nLAB_0001b05b:\n        pMVar19->nextE = (MHD_Connection *)0x2;\n        (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =\n             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4);\n        pMVar19 = pMVar15;\nLAB_0001b06b:\n        puVar11[6] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-4] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-5] = 0x1b07e;\n        iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4]);\n        pMVar15 = pMVar19;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        puVar11[-2] = iVar29 + -0xceb;\n        puVar11[-3] = &pMVar14->per_ip_connection_count;\n        puVar11[-4] = pMVar19;\n        puVar11[-5] = 0x1b09d;\n        puVar20 = (undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2]);\n        puVar33 = puVar11;\n        if (puVar20 == (undefined4 *)0x0) {\n          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;\n          puVar11[-4] = pMVar14;\n          puVar11[-5] = 0x1b120;\n          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);\n          puVar11[-4] = puVar11[6];\n          puVar11[-5] = 0x1b12a;\n          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n          if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        pMVar21 = (MHD_Connection *)*puVar20;\n        if (pMVar19 != pMVar21) {\n          puVar11[7] = pMVar21;\n          puVar11[-4] = pMVar19;\n          puVar11[-5] = 0x1b0b7;\n          free((void *)puVar11[-4]);\n          pMVar21 = (MHD_Connection *)puVar11[7];\n        }\n        if ((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX) goto LAB_0001b0f0;\n        pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1);\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0db;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 == 0);\n      do {\n        puVar11[-1] = 0x1b0eb;\n        MHD_ip_count_unlock((MHD_Daemon *)*puVar11);\nLAB_0001b0f0:\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)((int)puVar33 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n    *(MHD_Daemon **)((int)puVar33 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab1a;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar33 + -0x10),*(char **)((int)puVar33 + -0xc));\n    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)((int)puVar33 + 8);\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab24;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar33 + -0x10));\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab2b;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (*piVar13 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)((int)puVar33 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar33 + -8) = 0x93d;\n    *(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;\n    puVar11 = (undefined4 *)((int)puVar33 + -0x10);\n    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1b55d;\n    (*pcVar28)();\n    pMVar19 = pMVar15;\nLAB_0001b55d:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar11 + -8) = 0x950;\n    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b57c;\n    (*pcVar28)();\n    puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b57c:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar11 + -8) = 0x962;\n    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b59b;\n    (*pcVar28)();\n    puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n  }\n  else {\n    *(undefined4 *)((int)puVar11 + -4) = 0x400;\n    pMVar14 = *(MHD_Daemon **)((int)puVar11 + 8);\n    *(MHD_Daemon **)((int)puVar11 + -8) = pMVar14;\n    *(char **)((int)puVar11 + -0xc) = "pthread_self" + iVar29 + 10;\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adc7;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adcf;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar11 + -0x10));\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1add6;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (puVar32 = (undefined1 *)puVar11, *piVar13 != 9)) {\n      *piVar13 = 0x16;\n      goto LAB_0001ab43;\n    }\n  }" if (parenthesized_expression "((*(int *)((int)puVar11 + 8) < 0x400) ||\n     ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG))" ( (binary_expression "(*(int *)((int)puVar11 + 8) < 0x400) ||\n     ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)" (parenthesized_expression "(*(int *)((int)puVar11 + 8) < 0x400)" ( (binary_expression "*(int *)((int)puVar11 + 8) < 0x400" (pointer_expression "*(int *)((int)puVar11 + 8)" * (cast_expression "(int *)((int)puVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 8)" ( (binary_expression "(int)puVar11 + 8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < number_literal) )) || (parenthesized_expression "((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)" ( (binary_expression "(pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG" (parenthesized_expression "(pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL))" ( (binary_expression "pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)" (field_expression "pMVar10->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    puVar33 = puVar11;\n    pMVar15 = pMVar19;\n    pMVar14 = pMVar10;\n    pMVar23 = pMVar10;\n    if (pMVar10->connections != pMVar10->connection_limit) {\n      do {\n        pMVar14 = pMVar23;\n        pMVar23 = pMVar14->master;\n      } while (pMVar14->master != (MHD_Daemon *)0x0);\n      if (pMVar14->per_ip_connection_limit != 0) {\n        *(undefined4 *)((int)puVar11 + -0xc) = 1;\n        *(undefined4 *)((int)puVar11 + -0x10) = 0x18;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c;\n        pMVar19 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        pMVar15 = pMVar19;\n        if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001ab0a;\n        if (*(int *)((int)puVar11 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)((int)puVar11 + 0x50) == 0x1c) {\n          iVar12 = *(int *)((int)puVar11 + 0xc);\n          pMVar19->nextE = (MHD_Connection *)0xa;\n          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);\n          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);\n          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);\n          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);\n          pMVar19->nextX = pMVar15;\n          goto LAB_0001b06b;\n        }\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8;\n        free(*(void **)((int)puVar11 + -0x10));\n      }\n      do {\n        p_Var2 = pMVar10->apc;\n        if (p_Var2 != (MHD_AcceptPolicyCallback)0x0) {\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;\n          pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));\n          if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)((int)puVar11 + -0xc) = 0xfc;\n        *(undefined4 *)((int)puVar11 + -0x10) = 1;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa;\n        pMVar15 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        if (pMVar15 == (MHD_Connection *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          pMVar19 = (MHD_Connection *)pMVar14->default_handler;\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;\n          goto LAB_0001ab43;\n        }\n        *(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2;\n        pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->pool = pMVar16;\n        if (pMVar16 == (MemoryPool *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;\n          goto LAB_0001ab43;\n        }\n        pMVar15->connection_timeout = pMVar10->connection_timeout;\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8;\n        psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->addr = psVar17;\n        if (psVar17 == (sockaddr *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          p_Var6 = pMVar14->default_handler;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;\n          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n        puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n        *(sockaddr **)((int)puVar11 + -0x10) = psVar17;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        sVar3 = *(socklen_t *)((int)puVar11 + 0x50);\n        pMVar15->daemon = pMVar10;\n        pMVar15->addr_len = sVar3;\n        pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8);\n        pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e;\n        tVar18 = MHD_monotonic_sec_counter();\n        pMVar15->last_activity = tVar18;\n        if ((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG) {\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;\n          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));\nLAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;\n          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n          puVar33 = puVar11;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }\n          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n          *(undefined4 *)((int)puVar11 + -8) = 0xa67;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          puVar33 = (undefined4 *)((int)puVar11 + -0x10);\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;\n          (*pcVar28)();\n          goto LAB_0001b53e;\n        }\n        pMVar15->tls_state = MHD_TLS_CONN_INIT;\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c;\n        MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10));\n        *(undefined4 *)((int)puVar11 + -0xc) = 0x49;\n        *(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc);\n        *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        gVar7 = pMVar10->cred_type;\n        if (gVar7 == GNUTLS_CRD_CERTIFICATE) {\n          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 1;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (gVar7 == GNUTLS_CRD_PSK) {\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 4;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7;\n        *(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5;\n        *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1affb;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10);\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)((int)puVar11 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;\n          (*pcVar28)();\n          pMVar21 = extraout_EDX_02;\nLAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;\n          puVar11 = (undefined4 *)puVar32;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)((int)puVar11 + -4) = 0x1b029;\n        MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50));\n        *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b034;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0;\n        *(undefined4 *)((int)puVar11 + -0x18) = 0x9c9;\n        *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659;\n        *(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d);\n        pcVar28 = *(code **)(iVar29 + 0x1a681);\n        *(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b;\n        pMVar19 = (MHD_Connection *)(*pcVar28)();\n        puVar11 = (undefined4 *)((int)puVar11 + -0x20);\nLAB_0001b05b:\n        pMVar19->nextE = (MHD_Connection *)0x2;\n        (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =\n             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4);\n        pMVar19 = pMVar15;\nLAB_0001b06b:\n        puVar11[6] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-4] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-5] = 0x1b07e;\n        iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4]);\n        pMVar15 = pMVar19;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        puVar11[-2] = iVar29 + -0xceb;\n        puVar11[-3] = &pMVar14->per_ip_connection_count;\n        puVar11[-4] = pMVar19;\n        puVar11[-5] = 0x1b09d;\n        puVar20 = (undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2]);\n        puVar33 = puVar11;\n        if (puVar20 == (undefined4 *)0x0) {\n          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;\n          puVar11[-4] = pMVar14;\n          puVar11[-5] = 0x1b120;\n          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);\n          puVar11[-4] = puVar11[6];\n          puVar11[-5] = 0x1b12a;\n          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n          if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        pMVar21 = (MHD_Connection *)*puVar20;\n        if (pMVar19 != pMVar21) {\n          puVar11[7] = pMVar21;\n          puVar11[-4] = pMVar19;\n          puVar11[-5] = 0x1b0b7;\n          free((void *)puVar11[-4]);\n          pMVar21 = (MHD_Connection *)puVar11[7];\n        }\n        if ((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX) goto LAB_0001b0f0;\n        pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1);\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0db;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 == 0);\n      do {\n        puVar11[-1] = 0x1b0eb;\n        MHD_ip_count_unlock((MHD_Daemon *)*puVar11);\nLAB_0001b0f0:\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)((int)puVar33 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n    *(MHD_Daemon **)((int)puVar33 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab1a;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar33 + -0x10),*(char **)((int)puVar33 + -0xc));\n    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)((int)puVar33 + 8);\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab24;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar33 + -0x10));\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1ab2b;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (*piVar13 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)((int)puVar33 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar33 + -8) = 0x93d;\n    *(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;\n    puVar11 = (undefined4 *)((int)puVar33 + -0x10);\n    *(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar33 + -0x14) = 0x1b55d;\n    (*pcVar28)();\n    pMVar19 = pMVar15;\nLAB_0001b55d:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar11 + -8) = 0x950;\n    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b57c;\n    (*pcVar28)();\n    puVar11 = (undefined4 *)((int)puVar11 + -0x10);\nLAB_0001b57c:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n    *(undefined4 *)((int)puVar11 + -8) = 0x962;\n    *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n    *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n    pcVar28 = *(code **)(iVar29 + 0x1a681);\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b59b;\n    (*pcVar28)();\n    puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n  }" { (expression_statement "puVar33 = puVar11;" (assignment_expression "puVar33 = puVar11" identifier = identifier) ;) (expression_statement "pMVar15 = pMVar19;" (assignment_expression "pMVar15 = pMVar19" identifier = identifier) ;) (expression_statement "pMVar14 = pMVar10;" (assignment_expression "pMVar14 = pMVar10" identifier = identifier) ;) (expression_statement "pMVar23 = pMVar10;" (assignment_expression "pMVar23 = pMVar10" identifier = identifier) ;) (if_statement "if (pMVar10->connections != pMVar10->connection_limit) {\n      do {\n        pMVar14 = pMVar23;\n        pMVar23 = pMVar14->master;\n      } while (pMVar14->master != (MHD_Daemon *)0x0);\n      if (pMVar14->per_ip_connection_limit != 0) {\n        *(undefined4 *)((int)puVar11 + -0xc) = 1;\n        *(undefined4 *)((int)puVar11 + -0x10) = 0x18;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c;\n        pMVar19 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        pMVar15 = pMVar19;\n        if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001ab0a;\n        if (*(int *)((int)puVar11 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)((int)puVar11 + 0x50) == 0x1c) {\n          iVar12 = *(int *)((int)puVar11 + 0xc);\n          pMVar19->nextE = (MHD_Connection *)0xa;\n          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);\n          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);\n          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);\n          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);\n          pMVar19->nextX = pMVar15;\n          goto LAB_0001b06b;\n        }\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8;\n        free(*(void **)((int)puVar11 + -0x10));\n      }\n      do {\n        p_Var2 = pMVar10->apc;\n        if (p_Var2 != (MHD_AcceptPolicyCallback)0x0) {\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;\n          pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));\n          if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)((int)puVar11 + -0xc) = 0xfc;\n        *(undefined4 *)((int)puVar11 + -0x10) = 1;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa;\n        pMVar15 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        if (pMVar15 == (MHD_Connection *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          pMVar19 = (MHD_Connection *)pMVar14->default_handler;\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;\n          goto LAB_0001ab43;\n        }\n        *(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2;\n        pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->pool = pMVar16;\n        if (pMVar16 == (MemoryPool *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;\n          goto LAB_0001ab43;\n        }\n        pMVar15->connection_timeout = pMVar10->connection_timeout;\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8;\n        psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->addr = psVar17;\n        if (psVar17 == (sockaddr *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          p_Var6 = pMVar14->default_handler;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;\n          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n        puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n        *(sockaddr **)((int)puVar11 + -0x10) = psVar17;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        sVar3 = *(socklen_t *)((int)puVar11 + 0x50);\n        pMVar15->daemon = pMVar10;\n        pMVar15->addr_len = sVar3;\n        pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8);\n        pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e;\n        tVar18 = MHD_monotonic_sec_counter();\n        pMVar15->last_activity = tVar18;\n        if ((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG) {\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;\n          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));\nLAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;\n          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n          puVar33 = puVar11;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }\n          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n          *(undefined4 *)((int)puVar11 + -8) = 0xa67;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          puVar33 = (undefined4 *)((int)puVar11 + -0x10);\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;\n          (*pcVar28)();\n          goto LAB_0001b53e;\n        }\n        pMVar15->tls_state = MHD_TLS_CONN_INIT;\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c;\n        MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10));\n        *(undefined4 *)((int)puVar11 + -0xc) = 0x49;\n        *(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc);\n        *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        gVar7 = pMVar10->cred_type;\n        if (gVar7 == GNUTLS_CRD_CERTIFICATE) {\n          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 1;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (gVar7 == GNUTLS_CRD_PSK) {\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 4;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7;\n        *(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5;\n        *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1affb;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10);\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)((int)puVar11 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;\n          (*pcVar28)();\n          pMVar21 = extraout_EDX_02;\nLAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;\n          puVar11 = (undefined4 *)puVar32;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)((int)puVar11 + -4) = 0x1b029;\n        MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50));\n        *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b034;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0;\n        *(undefined4 *)((int)puVar11 + -0x18) = 0x9c9;\n        *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659;\n        *(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d);\n        pcVar28 = *(code **)(iVar29 + 0x1a681);\n        *(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b;\n        pMVar19 = (MHD_Connection *)(*pcVar28)();\n        puVar11 = (undefined4 *)((int)puVar11 + -0x20);\nLAB_0001b05b:\n        pMVar19->nextE = (MHD_Connection *)0x2;\n        (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =\n             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4);\n        pMVar19 = pMVar15;\nLAB_0001b06b:\n        puVar11[6] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-4] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-5] = 0x1b07e;\n        iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4]);\n        pMVar15 = pMVar19;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        puVar11[-2] = iVar29 + -0xceb;\n        puVar11[-3] = &pMVar14->per_ip_connection_count;\n        puVar11[-4] = pMVar19;\n        puVar11[-5] = 0x1b09d;\n        puVar20 = (undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2]);\n        puVar33 = puVar11;\n        if (puVar20 == (undefined4 *)0x0) {\n          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;\n          puVar11[-4] = pMVar14;\n          puVar11[-5] = 0x1b120;\n          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);\n          puVar11[-4] = puVar11[6];\n          puVar11[-5] = 0x1b12a;\n          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n          if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        pMVar21 = (MHD_Connection *)*puVar20;\n        if (pMVar19 != pMVar21) {\n          puVar11[7] = pMVar21;\n          puVar11[-4] = pMVar19;\n          puVar11[-5] = 0x1b0b7;\n          free((void *)puVar11[-4]);\n          pMVar21 = (MHD_Connection *)puVar11[7];\n        }\n        if ((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX) goto LAB_0001b0f0;\n        pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1);\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0db;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 == 0);\n      do {\n        puVar11[-1] = 0x1b0eb;\n        MHD_ip_count_unlock((MHD_Daemon *)*puVar11);\nLAB_0001b0f0:\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 != 0);\n    }" if (parenthesized_expression "(pMVar10->connections != pMVar10->connection_limit)" ( (binary_expression "pMVar10->connections != pMVar10->connection_limit" (field_expression "pMVar10->connections" identifier -> field_identifier) != (field_expression "pMVar10->connection_limit" identifier -> field_identifier)) )) (compound_statement "{\n      do {\n        pMVar14 = pMVar23;\n        pMVar23 = pMVar14->master;\n      } while (pMVar14->master != (MHD_Daemon *)0x0);\n      if (pMVar14->per_ip_connection_limit != 0) {\n        *(undefined4 *)((int)puVar11 + -0xc) = 1;\n        *(undefined4 *)((int)puVar11 + -0x10) = 0x18;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c;\n        pMVar19 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        pMVar15 = pMVar19;\n        if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001ab0a;\n        if (*(int *)((int)puVar11 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)((int)puVar11 + 0x50) == 0x1c) {\n          iVar12 = *(int *)((int)puVar11 + 0xc);\n          pMVar19->nextE = (MHD_Connection *)0xa;\n          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);\n          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);\n          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);\n          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);\n          pMVar19->nextX = pMVar15;\n          goto LAB_0001b06b;\n        }\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8;\n        free(*(void **)((int)puVar11 + -0x10));\n      }\n      do {\n        p_Var2 = pMVar10->apc;\n        if (p_Var2 != (MHD_AcceptPolicyCallback)0x0) {\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;\n          pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));\n          if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)((int)puVar11 + -0xc) = 0xfc;\n        *(undefined4 *)((int)puVar11 + -0x10) = 1;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa;\n        pMVar15 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        if (pMVar15 == (MHD_Connection *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          pMVar19 = (MHD_Connection *)pMVar14->default_handler;\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;\n          goto LAB_0001ab43;\n        }\n        *(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2;\n        pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->pool = pMVar16;\n        if (pMVar16 == (MemoryPool *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;\n          goto LAB_0001ab43;\n        }\n        pMVar15->connection_timeout = pMVar10->connection_timeout;\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8;\n        psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->addr = psVar17;\n        if (psVar17 == (sockaddr *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          p_Var6 = pMVar14->default_handler;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;\n          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n        puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n        *(sockaddr **)((int)puVar11 + -0x10) = psVar17;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        sVar3 = *(socklen_t *)((int)puVar11 + 0x50);\n        pMVar15->daemon = pMVar10;\n        pMVar15->addr_len = sVar3;\n        pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8);\n        pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e;\n        tVar18 = MHD_monotonic_sec_counter();\n        pMVar15->last_activity = tVar18;\n        if ((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG) {\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;\n          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));\nLAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;\n          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n          puVar33 = puVar11;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }\n          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n          *(undefined4 *)((int)puVar11 + -8) = 0xa67;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          puVar33 = (undefined4 *)((int)puVar11 + -0x10);\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;\n          (*pcVar28)();\n          goto LAB_0001b53e;\n        }\n        pMVar15->tls_state = MHD_TLS_CONN_INIT;\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c;\n        MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10));\n        *(undefined4 *)((int)puVar11 + -0xc) = 0x49;\n        *(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc);\n        *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        gVar7 = pMVar10->cred_type;\n        if (gVar7 == GNUTLS_CRD_CERTIFICATE) {\n          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 1;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (gVar7 == GNUTLS_CRD_PSK) {\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 4;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7;\n        *(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5;\n        *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1affb;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10);\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)((int)puVar11 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;\n          (*pcVar28)();\n          pMVar21 = extraout_EDX_02;\nLAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;\n          puVar11 = (undefined4 *)puVar32;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)((int)puVar11 + -4) = 0x1b029;\n        MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50));\n        *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b034;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0;\n        *(undefined4 *)((int)puVar11 + -0x18) = 0x9c9;\n        *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659;\n        *(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d);\n        pcVar28 = *(code **)(iVar29 + 0x1a681);\n        *(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b;\n        pMVar19 = (MHD_Connection *)(*pcVar28)();\n        puVar11 = (undefined4 *)((int)puVar11 + -0x20);\nLAB_0001b05b:\n        pMVar19->nextE = (MHD_Connection *)0x2;\n        (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =\n             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4);\n        pMVar19 = pMVar15;\nLAB_0001b06b:\n        puVar11[6] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-4] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-5] = 0x1b07e;\n        iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4]);\n        pMVar15 = pMVar19;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        puVar11[-2] = iVar29 + -0xceb;\n        puVar11[-3] = &pMVar14->per_ip_connection_count;\n        puVar11[-4] = pMVar19;\n        puVar11[-5] = 0x1b09d;\n        puVar20 = (undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2]);\n        puVar33 = puVar11;\n        if (puVar20 == (undefined4 *)0x0) {\n          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;\n          puVar11[-4] = pMVar14;\n          puVar11[-5] = 0x1b120;\n          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);\n          puVar11[-4] = puVar11[6];\n          puVar11[-5] = 0x1b12a;\n          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n          if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        pMVar21 = (MHD_Connection *)*puVar20;\n        if (pMVar19 != pMVar21) {\n          puVar11[7] = pMVar21;\n          puVar11[-4] = pMVar19;\n          puVar11[-5] = 0x1b0b7;\n          free((void *)puVar11[-4]);\n          pMVar21 = (MHD_Connection *)puVar11[7];\n        }\n        if ((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX) goto LAB_0001b0f0;\n        pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1);\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0db;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 == 0);\n      do {\n        puVar11[-1] = 0x1b0eb;\n        MHD_ip_count_unlock((MHD_Daemon *)*puVar11);\nLAB_0001b0f0:\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 != 0);\n    }" { (do_statement "do {\n        pMVar14 = pMVar23;\n        pMVar23 = pMVar14->master;\n      } while (pMVar14->master != (MHD_Daemon *)0x0);" do (compound_statement "{\n        pMVar14 = pMVar23;\n        pMVar23 = pMVar14->master;\n      }" { (expression_statement "pMVar14 = pMVar23;" (assignment_expression "pMVar14 = pMVar23" identifier = identifier) ;) (expression_statement "pMVar23 = pMVar14->master;" (assignment_expression "pMVar23 = pMVar14->master" identifier = (field_expression "pMVar14->master" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(pMVar14->master != (MHD_Daemon *)0x0)" ( (binary_expression "pMVar14->master != (MHD_Daemon *)0x0" (field_expression "pMVar14->master" identifier -> field_identifier) != (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (pMVar14->per_ip_connection_limit != 0) {\n        *(undefined4 *)((int)puVar11 + -0xc) = 1;\n        *(undefined4 *)((int)puVar11 + -0x10) = 0x18;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c;\n        pMVar19 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        pMVar15 = pMVar19;\n        if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001ab0a;\n        if (*(int *)((int)puVar11 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)((int)puVar11 + 0x50) == 0x1c) {\n          iVar12 = *(int *)((int)puVar11 + 0xc);\n          pMVar19->nextE = (MHD_Connection *)0xa;\n          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);\n          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);\n          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);\n          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);\n          pMVar19->nextX = pMVar15;\n          goto LAB_0001b06b;\n        }\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8;\n        free(*(void **)((int)puVar11 + -0x10));\n      }" if (parenthesized_expression "(pMVar14->per_ip_connection_limit != 0)" ( (binary_expression "pMVar14->per_ip_connection_limit != 0" (field_expression "pMVar14->per_ip_connection_limit" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar11 + -0xc) = 1;\n        *(undefined4 *)((int)puVar11 + -0x10) = 0x18;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c;\n        pMVar19 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        pMVar15 = pMVar19;\n        if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001ab0a;\n        if (*(int *)((int)puVar11 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)((int)puVar11 + 0x50) == 0x1c) {\n          iVar12 = *(int *)((int)puVar11 + 0xc);\n          pMVar19->nextE = (MHD_Connection *)0xa;\n          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);\n          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);\n          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);\n          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);\n          pMVar19->nextX = pMVar15;\n          goto LAB_0001b06b;\n        }\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8;\n        free(*(void **)((int)puVar11 + -0x10));\n      }" { (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = 0x18;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = 0x18" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ad7c" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar19 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));" (assignment_expression "pMVar19 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc))" identifier = (cast_expression "(MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc))" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc))" identifier (argument_list "(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc))" ( (pointer_expression "*(size_t *)((int)puVar11 + -0x10)" * (cast_expression "(size_t *)((int)puVar11 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)puVar11 + -0xc)" * (cast_expression "(size_t *)((int)puVar11 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "pMVar15 = pMVar19;" (assignment_expression "pMVar15 = pMVar19" identifier = identifier) ;) (if_statement "if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001ab0a;" if (parenthesized_expression "(pMVar19 == (MHD_Connection *)0x0)" ( (binary_expression "pMVar19 == (MHD_Connection *)0x0" identifier == (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001ab0a;" goto statement_identifier ;)) (if_statement "if (*(int *)((int)puVar11 + 0x50) == 0x10) goto LAB_0001b05b;" if (parenthesized_expression "(*(int *)((int)puVar11 + 0x50) == 0x10)" ( (binary_expression "*(int *)((int)puVar11 + 0x50) == 0x10" (pointer_expression "*(int *)((int)puVar11 + 0x50)" * (cast_expression "(int *)((int)puVar11 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x50)" ( (binary_expression "(int)puVar11 + 0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001b05b;" goto statement_identifier ;)) (if_statement "if (*(int *)((int)puVar11 + 0x50) == 0x1c) {\n          iVar12 = *(int *)((int)puVar11 + 0xc);\n          pMVar19->nextE = (MHD_Connection *)0xa;\n          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);\n          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);\n          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);\n          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);\n          pMVar19->nextX = pMVar15;\n          goto LAB_0001b06b;\n        }" if (parenthesized_expression "(*(int *)((int)puVar11 + 0x50) == 0x1c)" ( (binary_expression "*(int *)((int)puVar11 + 0x50) == 0x1c" (pointer_expression "*(int *)((int)puVar11 + 0x50)" * (cast_expression "(int *)((int)puVar11 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x50)" ( (binary_expression "(int)puVar11 + 0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar12 = *(int *)((int)puVar11 + 0xc);\n          pMVar19->nextE = (MHD_Connection *)0xa;\n          (((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);\n          pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);\n          pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);\n          pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);\n          pMVar19->nextX = pMVar15;\n          goto LAB_0001b06b;\n        }" { (expression_statement "iVar12 = *(int *)((int)puVar11 + 0xc);" (assignment_expression "iVar12 = *(int *)((int)puVar11 + 0xc)" identifier = (pointer_expression "*(int *)((int)puVar11 + 0xc)" * (cast_expression "(int *)((int)puVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0xc)" ( (binary_expression "(int)puVar11 + 0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pMVar19->nextE = (MHD_Connection *)0xa;" (assignment_expression "pMVar19->nextE = (MHD_Connection *)0xa" (field_expression "pMVar19->nextE" identifier -> field_identifier) = (cast_expression "(MHD_Connection *)0xa" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8);" (assignment_expression "(((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr =\n               *(in_addr_t *)(iVar12 + 8)" (field_expression "(((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4).s_addr" (parenthesized_expression "(((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4)" ( (field_expression "((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)->ipv4" (parenthesized_expression "((anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE)" ( (cast_expression "(anon_union_16_2_31a35c43_for_addr *)&pMVar19->prevE" ( (type_descriptor "anon_union_16_2_31a35c43_for_addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pMVar19->prevE" & (field_expression "pMVar19->prevE" identifier -> field_identifier))) )) -> field_identifier) )) . field_identifier) = (pointer_expression "*(in_addr_t *)(iVar12 + 8)" * (cast_expression "(in_addr_t *)(iVar12 + 8)" ( (type_descriptor "in_addr_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) ;) (expression_statement "pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc);" (assignment_expression "pMVar19->next = *(MHD_Connection **)(iVar12 + 0xc)" (field_expression "pMVar19->next" identifier -> field_identifier) = (pointer_expression "*(MHD_Connection **)(iVar12 + 0xc)" * (cast_expression "(MHD_Connection **)(iVar12 + 0xc)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pMVar15 = *(MHD_Connection **)(iVar12 + 0x14);" (assignment_expression "pMVar15 = *(MHD_Connection **)(iVar12 + 0x14)" identifier = (pointer_expression "*(MHD_Connection **)(iVar12 + 0x14)" * (cast_expression "(MHD_Connection **)(iVar12 + 0x14)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10);" (assignment_expression "pMVar19->prev = *(MHD_Connection **)(iVar12 + 0x10)" (field_expression "pMVar19->prev" identifier -> field_identifier) = (pointer_expression "*(MHD_Connection **)(iVar12 + 0x10)" * (cast_expression "(MHD_Connection **)(iVar12 + 0x10)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pMVar19->nextX = pMVar15;" (assignment_expression "pMVar19->nextX = pMVar15" (field_expression "pMVar19->nextX" identifier -> field_identifier) = identifier) ;) (goto_statement "goto LAB_0001b06b;" goto statement_identifier ;) })) (expression_statement "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ada8" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar11 + -0x10));" (call_expression "free(*(void **)((int)puVar11 + -0x10))" identifier (argument_list "(*(void **)((int)puVar11 + -0x10))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (do_statement "do {\n        p_Var2 = pMVar10->apc;\n        if (p_Var2 != (MHD_AcceptPolicyCallback)0x0) {\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;\n          pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));\n          if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)((int)puVar11 + -0xc) = 0xfc;\n        *(undefined4 *)((int)puVar11 + -0x10) = 1;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa;\n        pMVar15 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        if (pMVar15 == (MHD_Connection *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          pMVar19 = (MHD_Connection *)pMVar14->default_handler;\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;\n          goto LAB_0001ab43;\n        }\n        *(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2;\n        pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->pool = pMVar16;\n        if (pMVar16 == (MemoryPool *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;\n          goto LAB_0001ab43;\n        }\n        pMVar15->connection_timeout = pMVar10->connection_timeout;\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8;\n        psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->addr = psVar17;\n        if (psVar17 == (sockaddr *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          p_Var6 = pMVar14->default_handler;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;\n          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n        puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n        *(sockaddr **)((int)puVar11 + -0x10) = psVar17;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        sVar3 = *(socklen_t *)((int)puVar11 + 0x50);\n        pMVar15->daemon = pMVar10;\n        pMVar15->addr_len = sVar3;\n        pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8);\n        pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e;\n        tVar18 = MHD_monotonic_sec_counter();\n        pMVar15->last_activity = tVar18;\n        if ((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG) {\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;\n          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));\nLAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;\n          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n          puVar33 = puVar11;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }\n          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n          *(undefined4 *)((int)puVar11 + -8) = 0xa67;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          puVar33 = (undefined4 *)((int)puVar11 + -0x10);\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;\n          (*pcVar28)();\n          goto LAB_0001b53e;\n        }\n        pMVar15->tls_state = MHD_TLS_CONN_INIT;\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c;\n        MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10));\n        *(undefined4 *)((int)puVar11 + -0xc) = 0x49;\n        *(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc);\n        *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        gVar7 = pMVar10->cred_type;\n        if (gVar7 == GNUTLS_CRD_CERTIFICATE) {\n          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 1;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (gVar7 == GNUTLS_CRD_PSK) {\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 4;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7;\n        *(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5;\n        *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1affb;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10);\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)((int)puVar11 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;\n          (*pcVar28)();\n          pMVar21 = extraout_EDX_02;\nLAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;\n          puVar11 = (undefined4 *)puVar32;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)((int)puVar11 + -4) = 0x1b029;\n        MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50));\n        *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b034;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0;\n        *(undefined4 *)((int)puVar11 + -0x18) = 0x9c9;\n        *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659;\n        *(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d);\n        pcVar28 = *(code **)(iVar29 + 0x1a681);\n        *(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b;\n        pMVar19 = (MHD_Connection *)(*pcVar28)();\n        puVar11 = (undefined4 *)((int)puVar11 + -0x20);\nLAB_0001b05b:\n        pMVar19->nextE = (MHD_Connection *)0x2;\n        (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =\n             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4);\n        pMVar19 = pMVar15;\nLAB_0001b06b:\n        puVar11[6] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-4] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-5] = 0x1b07e;\n        iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4]);\n        pMVar15 = pMVar19;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        puVar11[-2] = iVar29 + -0xceb;\n        puVar11[-3] = &pMVar14->per_ip_connection_count;\n        puVar11[-4] = pMVar19;\n        puVar11[-5] = 0x1b09d;\n        puVar20 = (undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2]);\n        puVar33 = puVar11;\n        if (puVar20 == (undefined4 *)0x0) {\n          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;\n          puVar11[-4] = pMVar14;\n          puVar11[-5] = 0x1b120;\n          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);\n          puVar11[-4] = puVar11[6];\n          puVar11[-5] = 0x1b12a;\n          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n          if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        pMVar21 = (MHD_Connection *)*puVar20;\n        if (pMVar19 != pMVar21) {\n          puVar11[7] = pMVar21;\n          puVar11[-4] = pMVar19;\n          puVar11[-5] = 0x1b0b7;\n          free((void *)puVar11[-4]);\n          pMVar21 = (MHD_Connection *)puVar11[7];\n        }\n        if ((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX) goto LAB_0001b0f0;\n        pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1);\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0db;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 == 0);" do (compound_statement "{\n        p_Var2 = pMVar10->apc;\n        if (p_Var2 != (MHD_AcceptPolicyCallback)0x0) {\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;\n          pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));\n          if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)((int)puVar11 + -0xc) = 0xfc;\n        *(undefined4 *)((int)puVar11 + -0x10) = 1;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa;\n        pMVar15 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));\n        if (pMVar15 == (MHD_Connection *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          pMVar19 = (MHD_Connection *)pMVar14->default_handler;\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;\n          goto LAB_0001ab43;\n        }\n        *(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2;\n        pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->pool = pMVar16;\n        if (pMVar16 == (MemoryPool *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;\n          goto LAB_0001ab43;\n        }\n        pMVar15->connection_timeout = pMVar10->connection_timeout;\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8;\n        psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10));\n        pMVar15->addr = psVar17;\n        if (psVar17 == (sockaddr *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          p_Var6 = pMVar14->default_handler;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;\n          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n        *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n        puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n        *(sockaddr **)((int)puVar11 + -0x10) = psVar17;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        sVar3 = *(socklen_t *)((int)puVar11 + 0x50);\n        pMVar15->daemon = pMVar10;\n        pMVar15->addr_len = sVar3;\n        pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8);\n        pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e;\n        tVar18 = MHD_monotonic_sec_counter();\n        pMVar15->last_activity = tVar18;\n        if ((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG) {\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;\n          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));\nLAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;\n          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n          puVar33 = puVar11;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }\n          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n          *(undefined4 *)((int)puVar11 + -8) = 0xa67;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          puVar33 = (undefined4 *)((int)puVar11 + -0x10);\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;\n          (*pcVar28)();\n          goto LAB_0001b53e;\n        }\n        pMVar15->tls_state = MHD_TLS_CONN_INIT;\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c;\n        MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10));\n        *(undefined4 *)((int)puVar11 + -0xc) = 0x49;\n        *(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc);\n        *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n        *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        gVar7 = pMVar10->cred_type;\n        if (gVar7 == GNUTLS_CRD_CERTIFICATE) {\n          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 1;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (gVar7 == GNUTLS_CRD_PSK) {\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 4;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7;\n        *(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5;\n        *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1affb;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n        pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10);\n        *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)((int)puVar11 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;\n          (*pcVar28)();\n          pMVar21 = extraout_EDX_02;\nLAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;\n          puVar11 = (undefined4 *)puVar32;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)((int)puVar11 + -4) = 0x1b029;\n        MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50));\n        *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b034;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c;\n        free(*(void **)((int)puVar11 + -0x10));\n        *(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0;\n        *(undefined4 *)((int)puVar11 + -0x18) = 0x9c9;\n        *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659;\n        *(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d);\n        pcVar28 = *(code **)(iVar29 + 0x1a681);\n        *(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b;\n        pMVar19 = (MHD_Connection *)(*pcVar28)();\n        puVar11 = (undefined4 *)((int)puVar11 + -0x20);\nLAB_0001b05b:\n        pMVar19->nextE = (MHD_Connection *)0x2;\n        (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =\n             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4);\n        pMVar19 = pMVar15;\nLAB_0001b06b:\n        puVar11[6] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-4] = &pMVar14->per_ip_connection_mutex;\n        puVar11[-5] = 0x1b07e;\n        iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4]);\n        pMVar15 = pMVar19;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        puVar11[-2] = iVar29 + -0xceb;\n        puVar11[-3] = &pMVar14->per_ip_connection_count;\n        puVar11[-4] = pMVar19;\n        puVar11[-5] = 0x1b09d;\n        puVar20 = (undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2]);\n        puVar33 = puVar11;\n        if (puVar20 == (undefined4 *)0x0) {\n          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;\n          puVar11[-4] = pMVar14;\n          puVar11[-5] = 0x1b120;\n          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);\n          puVar11[-4] = puVar11[6];\n          puVar11[-5] = 0x1b12a;\n          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n          if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        pMVar21 = (MHD_Connection *)*puVar20;\n        if (pMVar19 != pMVar21) {\n          puVar11[7] = pMVar21;\n          puVar11[-4] = pMVar19;\n          puVar11[-5] = 0x1b0b7;\n          free((void *)puVar11[-4]);\n          pMVar21 = (MHD_Connection *)puVar11[7];\n        }\n        if ((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX) goto LAB_0001b0f0;\n        pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1);\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0db;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      }" { (expression_statement "p_Var2 = pMVar10->apc;" (assignment_expression "p_Var2 = pMVar10->apc" identifier = (field_expression "pMVar10->apc" identifier -> field_identifier)) ;) (if_statement "if (p_Var2 != (MHD_AcceptPolicyCallback)0x0) {\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;\n          pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));\n          if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }\n        }" if (parenthesized_expression "(p_Var2 != (MHD_AcceptPolicyCallback)0x0)" ( (binary_expression "p_Var2 != (MHD_AcceptPolicyCallback)0x0" identifier != (cast_expression "(MHD_AcceptPolicyCallback)0x0" ( (type_descriptor "MHD_AcceptPolicyCallback" type_identifier) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);\n          *(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;\n          pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));\n          if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }\n        }" { (expression_statement "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50)" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 0x50)" * (cast_expression "(undefined4 *)((int)puVar11 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x50)" ( (binary_expression "(int)puVar11 + 0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0xc)" ( (binary_expression "(int)puVar11 + 0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls;" (assignment_expression "*(void **)((int)puVar11 + -0x10) = pMVar10->apc_cls" (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->apc_cls" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ab8e" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8));" (assignment_expression "pMVar14 = (MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8))" identifier = (cast_expression "(MHD_Daemon *)\n                    (*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8))" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var2)(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8))" (parenthesized_expression "(*p_Var2)" ( (pointer_expression "*p_Var2" * identifier) )) (argument_list "(*(void **)((int)puVar11 + -0x10),*(sockaddr **)((int)puVar11 + -0xc),\n                              *(socklen_t *)((int)puVar11 + -8))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(sockaddr **)((int)puVar11 + -0xc)" * (cast_expression "(sockaddr **)((int)puVar11 + -0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar11 + -8)" * (cast_expression "(socklen_t *)((int)puVar11 + -8)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (if_statement "if (pMVar14 == (MHD_Daemon *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }" if (parenthesized_expression "(pMVar14 == (MHD_Daemon *)0x0)" ( (binary_expression "pMVar14 == (MHD_Daemon *)0x0" identifier == (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1aec8;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            goto LAB_0001ab43;\n          }" { (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 8)" * (cast_expression "(undefined4 *)((int)puVar11 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 8)" ( (binary_expression "(int)puVar11 + 8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1aea4" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)((int)puVar11 + -0x10));" (assignment_expression "iVar12 = close(*(int *)((int)puVar11 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar11 + -0x10))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b55d;\n            }" { (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1aeb0;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1aeb0" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar13 == 9) goto LAB_0001b55d;" if (parenthesized_expression "(*piVar13 == 9)" ( (binary_expression "*piVar13 == 9" (pointer_expression "*piVar13" * identifier) == number_literal) )) (goto_statement "goto LAB_0001b55d;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1aec8;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1aec8" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));" (call_expression "MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50))" identifier (argument_list "(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50))" ( identifier , (pointer_expression "*(sockaddr **)((int)puVar11 + 0xc)" * (cast_expression "(sockaddr **)((int)puVar11 + 0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + 0xc)" ( (binary_expression "(int)puVar11 + 0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar11 + 0x50)" * (cast_expression "(socklen_t *)((int)puVar11 + 0x50)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x50)" ( (binary_expression "(int)puVar11 + 0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) })) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = 0xfc;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = 0xfc" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = 1;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = 1" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1abaa" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar15 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc));" (assignment_expression "pMVar15 = (MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc))" identifier = (cast_expression "(MHD_Connection *)\n                  calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc))" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc))" identifier (argument_list "(*(size_t *)((int)puVar11 + -0x10),*(size_t *)((int)puVar11 + -0xc))" ( (pointer_expression "*(size_t *)((int)puVar11 + -0x10)" * (cast_expression "(size_t *)((int)puVar11 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)puVar11 + -0xc)" * (cast_expression "(size_t *)((int)puVar11 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (if_statement "if (pMVar15 == (MHD_Connection *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          pMVar19 = (MHD_Connection *)pMVar14->default_handler;\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;\n          goto LAB_0001ab43;\n        }" if (parenthesized_expression "(pMVar15 == (MHD_Connection *)0x0)" ( (binary_expression "pMVar15 == (MHD_Connection *)0x0" identifier == (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)((int)puVar11 + -4) = 0x1aed5;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          pMVar19 = (MHD_Connection *)pMVar14->default_handler;\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af1c;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;\n          goto LAB_0001ab43;\n        }" { (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1aed5;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1aed5" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar14 = (MHD_Daemon *)__errno_location();" (assignment_expression "pMVar14 = (MHD_Daemon *)__errno_location()" identifier = (cast_expression "(MHD_Daemon *)__errno_location()" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pMVar19 = (MHD_Connection *)pMVar14->default_handler;" (assignment_expression "pMVar19 = (MHD_Connection *)pMVar14->default_handler" identifier = (cast_expression "(MHD_Connection *)pMVar14->default_handler" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar14->default_handler" identifier -> field_identifier))) ;) (expression_statement "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar19" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1aee2" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));" (assignment_expression "pcVar24 = strerror(*(int *)((int)puVar11 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar11 + -0x10))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar11 + -8) = pcVar24;" (assignment_expression "*(char **)((int)puVar11 + -8) = pcVar24" (pointer_expression "*(char **)((int)puVar11 + -8)" * (cast_expression "(char **)((int)puVar11 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10683" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1aef3" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 8)" * (cast_expression "(undefined4 *)((int)puVar11 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 8)" ( (binary_expression "(int)puVar11 + 8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1aefd" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)((int)puVar11 + -0x10));" (assignment_expression "iVar12 = close(*(int *)((int)puVar11 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar11 + -0x10))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b57c;" if (parenthesized_expression "((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))" ( (binary_expression "(iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9)" ( (binary_expression "pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9" (field_expression "pMVar14->default_handler" identifier -> field_identifier) == (cast_expression "(MHD_AccessHandlerCallback)0x9" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) number_literal)) ))) )) (goto_statement "goto LAB_0001b57c;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1af1c;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1af1c" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));" (call_expression "MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50))" identifier (argument_list "(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50))" ( identifier , (pointer_expression "*(sockaddr **)((int)puVar11 + 0xc)" * (cast_expression "(sockaddr **)((int)puVar11 + 0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + 0xc)" ( (binary_expression "(int)puVar11 + 0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar11 + 0x50)" * (cast_expression "(socklen_t *)((int)puVar11 + 0x50)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x50)" ( (binary_expression "(int)puVar11 + 0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19;" (assignment_expression "pMVar14->default_handler = (MHD_AccessHandlerCallback)pMVar19" (field_expression "pMVar14->default_handler" identifier -> field_identifier) = (cast_expression "(MHD_AccessHandlerCallback)pMVar19" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "*(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size;" (assignment_expression "*(size_t *)((int)puVar11 + -0x10) = pMVar10->pool_size" (pointer_expression "*(size_t *)((int)puVar11 + -0x10)" * (cast_expression "(size_t *)((int)puVar11 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->pool_size" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1abc2" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10));" (assignment_expression "pMVar16 = MHD_pool_create(*(size_t *)((int)puVar11 + -0x10))" identifier = (call_expression "MHD_pool_create(*(size_t *)((int)puVar11 + -0x10))" identifier (argument_list "(*(size_t *)((int)puVar11 + -0x10))" ( (pointer_expression "*(size_t *)((int)puVar11 + -0x10)" * (cast_expression "(size_t *)((int)puVar11 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "pMVar15->pool = pMVar16;" (assignment_expression "pMVar15->pool = pMVar16" (field_expression "pMVar15->pool" identifier -> field_identifier) = identifier) ;) (if_statement "if (pMVar16 == (MemoryPool *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;\n          goto LAB_0001ab43;\n        }" if (parenthesized_expression "(pMVar16 == (MemoryPool *)0x0)" ( (binary_expression "pMVar16 == (MemoryPool *)0x0" identifier == (cast_expression "(MemoryPool *)0x0" ( (type_descriptor "MemoryPool *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af2a;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1af70;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;\n          goto LAB_0001ab43;\n        }" { (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1af2a;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1af2a" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar14 = (MHD_Daemon *)__errno_location();" (assignment_expression "pMVar14 = (MHD_Daemon *)__errno_location()" identifier = (cast_expression "(MHD_Daemon *)__errno_location()" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler;" (assignment_expression "*(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = pMVar14->default_handler" (pointer_expression "*(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10)" * (cast_expression "(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_AccessHandlerCallback *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar14->default_handler" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1af36;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1af36" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));" (assignment_expression "pcVar24 = strerror(*(int *)((int)puVar11 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar11 + -0x10))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar11 + -8) = pcVar24;" (assignment_expression "*(char **)((int)puVar11 + -8) = pcVar24" (pointer_expression "*(char **)((int)puVar11 + -8)" * (cast_expression "(char **)((int)puVar11 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10683" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1af47;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1af47" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 8)" * (cast_expression "(undefined4 *)((int)puVar11 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 8)" ( (binary_expression "(int)puVar11 + 8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1af51;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1af51" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)((int)puVar11 + -0x10));" (assignment_expression "iVar12 = close(*(int *)((int)puVar11 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar11 + -0x10))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b63b;" if (parenthesized_expression "((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))" ( (binary_expression "(iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9)" ( (binary_expression "pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9" (field_expression "pMVar14->default_handler" identifier -> field_identifier) == (cast_expression "(MHD_AccessHandlerCallback)0x9" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) number_literal)) ))) )) (goto_statement "goto LAB_0001b63b;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1af70;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1af70" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));" (call_expression "MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50))" identifier (argument_list "(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50))" ( identifier , (pointer_expression "*(sockaddr **)((int)puVar11 + 0xc)" * (cast_expression "(sockaddr **)((int)puVar11 + 0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + 0xc)" ( (binary_expression "(int)puVar11 + 0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar11 + 0x50)" * (cast_expression "(socklen_t *)((int)puVar11 + 0x50)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x50)" ( (binary_expression "(int)puVar11 + 0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1af79;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1af79" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar11 + -0x10));" (call_expression "free(*(void **)((int)puVar11 + -0x10))" identifier (argument_list "(*(void **)((int)puVar11 + -0x10))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc;" (assignment_expression "pMVar14->default_handler = (MHD_AccessHandlerCallback)0xc" (field_expression "pMVar14->default_handler" identifier -> field_identifier) = (cast_expression "(MHD_AccessHandlerCallback)0xc" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) number_literal)) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "pMVar15->connection_timeout = pMVar10->connection_timeout;" (assignment_expression "pMVar15->connection_timeout = pMVar10->connection_timeout" (field_expression "pMVar15->connection_timeout" identifier -> field_identifier) = (field_expression "pMVar10->connection_timeout" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x50)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 0x50)" * (cast_expression "(undefined4 *)((int)puVar11 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x50)" ( (binary_expression "(int)puVar11 + 0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1abe8" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10));" (assignment_expression "psVar17 = (sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10))" identifier = (cast_expression "(sockaddr *)malloc(*(size_t *)((int)puVar11 + -0x10))" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(*(size_t *)((int)puVar11 + -0x10))" identifier (argument_list "(*(size_t *)((int)puVar11 + -0x10))" ( (pointer_expression "*(size_t *)((int)puVar11 + -0x10)" * (cast_expression "(size_t *)((int)puVar11 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "pMVar15->addr = psVar17;" (assignment_expression "pMVar15->addr = psVar17" (field_expression "pMVar15->addr" identifier -> field_identifier) = identifier) ;) (if_statement "if (psVar17 == (sockaddr *)0x0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          p_Var6 = pMVar14->default_handler;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;\n          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);\n          goto LAB_0001ab43;\n        }" if (parenthesized_expression "(psVar17 == (sockaddr *)0x0)" ( (binary_expression "psVar17 == (sockaddr *)0x0" identifier == (cast_expression "(sockaddr *)0x0" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae23;\n          pMVar14 = (MHD_Daemon *)__errno_location();\n          p_Var6 = pMVar14->default_handler;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;\n          *(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;\n          pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n          *(char **)((int)puVar11 + -8) = pcVar24;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;\n          *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)((int)puVar11 + -0x10));\n          if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;\n          *(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;\n          MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));\n          *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;\n          MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;\n          free(*(void **)((int)puVar11 + -0x10));\n          pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);\n          goto LAB_0001ab43;\n        }" { (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1ae23;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1ae23" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar14 = (MHD_Daemon *)__errno_location();" (assignment_expression "pMVar14 = (MHD_Daemon *)__errno_location()" identifier = (cast_expression "(MHD_Daemon *)__errno_location()" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (expression_statement "p_Var6 = pMVar14->default_handler;" (assignment_expression "p_Var6 = pMVar14->default_handler" identifier = (field_expression "pMVar14->default_handler" identifier -> field_identifier)) ;) (expression_statement "*(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6;" (assignment_expression "*(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10) = p_Var6" (pointer_expression "*(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10)" * (cast_expression "(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10)" ( (type_descriptor "MHD_AccessHandlerCallback *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x10)" ( (binary_expression "(int)puVar11 + 0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6;" (assignment_expression "*(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10) = p_Var6" (pointer_expression "*(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10)" * (cast_expression "(MHD_AccessHandlerCallback *)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_AccessHandlerCallback *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ae34" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));" (assignment_expression "pcVar24 = strerror(*(int *)((int)puVar11 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar11 + -0x10))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar11 + -8) = pcVar24;" (assignment_expression "*(char **)((int)puVar11 + -8) = pcVar24" (pointer_expression "*(char **)((int)puVar11 + -8)" * (cast_expression "(char **)((int)puVar11 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10683" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10683" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ae45" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 8)" * (cast_expression "(undefined4 *)((int)puVar11 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 8)" ( (binary_expression "(int)puVar11 + 8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ae4f" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)((int)puVar11 + -0x10));" (assignment_expression "iVar12 = close(*(int *)((int)puVar11 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar11 + -0x10))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))\n          goto LAB_0001b61c;" if (parenthesized_expression "((iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9))" ( (binary_expression "(iVar12 != 0) && (pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9)" ( (binary_expression "pMVar14->default_handler == (MHD_AccessHandlerCallback)0x9" (field_expression "pMVar14->default_handler" identifier -> field_identifier) == (cast_expression "(MHD_AccessHandlerCallback)0x9" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) number_literal)) ))) )) (goto_statement "goto LAB_0001b61c;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1ae6e;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1ae6e" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50));" (call_expression "MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50))" identifier (argument_list "(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                           *(socklen_t *)((int)puVar11 + 0x50))" ( identifier , (pointer_expression "*(sockaddr **)((int)puVar11 + 0xc)" * (cast_expression "(sockaddr **)((int)puVar11 + 0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + 0xc)" ( (binary_expression "(int)puVar11 + 0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar11 + 0x50)" * (cast_expression "(socklen_t *)((int)puVar11 + 0x50)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x50)" ( (binary_expression "(int)puVar11 + 0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;" (assignment_expression "*(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool" (pointer_expression "*(MemoryPool **)((int)puVar11 + -0x10)" * (cast_expression "(MemoryPool **)((int)puVar11 + -0x10)" ( (type_descriptor "MemoryPool **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar15->pool" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ae79" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));" (call_expression "MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10))" identifier (argument_list "(*(MemoryPool **)((int)puVar11 + -0x10))" ( (pointer_expression "*(MemoryPool **)((int)puVar11 + -0x10)" * (cast_expression "(MemoryPool **)((int)puVar11 + -0x10)" ( (type_descriptor "MemoryPool **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ae81" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar11 + -0x10));" (call_expression "free(*(void **)((int)puVar11 + -0x10))" identifier (argument_list "(*(void **)((int)puVar11 + -0x10))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10);" (assignment_expression "pMVar14->default_handler = *(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10)" (field_expression "pMVar14->default_handler" identifier -> field_identifier) = (pointer_expression "*(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10)" * (cast_expression "(MHD_AccessHandlerCallback *)((int)puVar11 + 0x10)" ( (type_descriptor "MHD_AccessHandlerCallback *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x10)" ( (binary_expression "(int)puVar11 + 0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50);" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 0x50)" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 0x50)" * (cast_expression "(undefined4 *)((int)puVar11 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x50)" ( (binary_expression "(int)puVar11 + 0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0xc)" ( (binary_expression "(int)puVar11 + 0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar32 = (undefined1 *)((int)puVar11 + -0x10);" (assignment_expression "puVar32 = (undefined1 *)((int)puVar11 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(sockaddr **)((int)puVar11 + -0x10) = psVar17;" (assignment_expression "*(sockaddr **)((int)puVar11 + -0x10) = psVar17" (pointer_expression "*(sockaddr **)((int)puVar11 + -0x10)" * (cast_expression "(sockaddr **)((int)puVar11 + -0x10)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ac07" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));" (call_expression "memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8))" identifier (argument_list "(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar11 + -0xc)" * (cast_expression "(void **)((int)puVar11 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)puVar11 + -8)" * (cast_expression "(size_t *)((int)puVar11 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "sVar3 = *(socklen_t *)((int)puVar11 + 0x50);" (assignment_expression "sVar3 = *(socklen_t *)((int)puVar11 + 0x50)" identifier = (pointer_expression "*(socklen_t *)((int)puVar11 + 0x50)" * (cast_expression "(socklen_t *)((int)puVar11 + 0x50)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x50)" ( (binary_expression "(int)puVar11 + 0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pMVar15->daemon = pMVar10;" (assignment_expression "pMVar15->daemon = pMVar10" (field_expression "pMVar15->daemon" identifier -> field_identifier) = identifier) ;) (expression_statement "pMVar15->addr_len = sVar3;" (assignment_expression "pMVar15->addr_len = sVar3" (field_expression "pMVar15->addr_len" identifier -> field_identifier) = identifier) ;) (expression_statement "pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8);" (assignment_expression "pMVar15->socket_fd = *(MHD_socket *)((int)puVar11 + 8)" (field_expression "pMVar15->socket_fd" identifier -> field_identifier) = (pointer_expression "*(MHD_socket *)((int)puVar11 + 8)" * (cast_expression "(MHD_socket *)((int)puVar11 + 8)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 8)" ( (binary_expression "(int)puVar11 + 8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10);" (assignment_expression "pMVar15->sk_nonblck = *(_Bool *)((int)puVar11 + 0x10)" (field_expression "pMVar15->sk_nonblck" identifier -> field_identifier) = (pointer_expression "*(_Bool *)((int)puVar11 + 0x10)" * (cast_expression "(_Bool *)((int)puVar11 + 0x10)" ( (type_descriptor "_Bool *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x10)" ( (binary_expression "(int)puVar11 + 0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ac2e" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "tVar18 = MHD_monotonic_sec_counter();" (assignment_expression "tVar18 = MHD_monotonic_sec_counter()" identifier = (call_expression "MHD_monotonic_sec_counter()" identifier (argument_list "()" ( )))) ;) (expression_statement "pMVar15->last_activity = tVar18;" (assignment_expression "pMVar15->last_activity = tVar18" (field_expression "pMVar15->last_activity" identifier -> field_identifier) = identifier) ;) (if_statement "if ((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG) {\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;\n          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));\nLAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;\n          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n          puVar33 = puVar11;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }\n          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n          *(undefined4 *)((int)puVar11 + -8) = 0xa67;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          puVar33 = (undefined4 *)((int)puVar11 + -0x10);\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;\n          (*pcVar28)();\n          goto LAB_0001b53e;\n        }" if (parenthesized_expression "((pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG)" ( (binary_expression "(pMVar10->options & MHD_USE_SSL) == MHD_NO_FLAG" (parenthesized_expression "(pMVar10->options & MHD_USE_SSL)" ( (binary_expression "pMVar10->options & MHD_USE_SSL" (field_expression "pMVar10->options" identifier -> field_identifier) & identifier) )) == identifier) )) (compound_statement "{\n          *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;\n          MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));\nLAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;\n          *(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n          puVar33 = puVar11;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }\n          *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n          *(undefined4 *)((int)puVar11 + -8) = 0xa67;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          puVar33 = (undefined4 *)((int)puVar11 + -0x10);\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;\n          (*pcVar28)();\n          goto LAB_0001b53e;\n        }" { (expression_statement "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ac4d" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10));" (call_expression "MHD_set_http_callbacks_(*(MHD_Connection **)((int)puVar11 + -0x10))" identifier (argument_list "(*(MHD_Connection **)((int)puVar11 + -0x10))" ( (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (labeled_statement "LAB_0001ac50:\n          *(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;" statement_identifier : (expression_statement "*(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex;" (assignment_expression "*(MHD_mutex_ **)((int)puVar11 + 0x10) = &pMVar10->cleanup_connection_mutex" (pointer_expression "*(MHD_mutex_ **)((int)puVar11 + 0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar11 + 0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + 0x10)" ( (binary_expression "(int)puVar11 + 0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar10->cleanup_connection_mutex" & (field_expression "pMVar10->cleanup_connection_mutex" identifier -> field_identifier))) ;)) (expression_statement "*(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex;" (assignment_expression "*(MHD_mutex_ **)((int)puVar11 + -0x10) = &pMVar10->cleanup_connection_mutex" (pointer_expression "*(MHD_mutex_ **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar10->cleanup_connection_mutex" & (field_expression "pMVar10->cleanup_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1ac63" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10))" identifier = (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar11 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar11 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar11 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar33 = puVar11;" (assignment_expression "puVar33 = puVar11" identifier = identifier) ;) (if_statement "if (iVar12 != 0) goto LAB_0001b5bf;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b5bf;" goto statement_identifier ;)) (if_statement "if (pMVar10->connections < pMVar10->connection_limit) {\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }" if (parenthesized_expression "(pMVar10->connections < pMVar10->connection_limit)" ( (binary_expression "pMVar10->connections < pMVar10->connection_limit" (field_expression "pMVar10->connections" identifier -> field_identifier) < (field_expression "pMVar10->connection_limit" identifier -> field_identifier)) )) (compound_statement "{\n            pMVar10->connections = pMVar10->connections + 1;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }\n            pMVar19 = pMVar10->connections_head;\n            pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            pMVar15->next = pMVar19;\n            if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }\n            pMVar10->connections_head = pMVar15;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            MVar26 = pMVar10->options;\n            if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }\n            if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }\n            if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;\n            *(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;\n            *(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);\n            *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));\n            if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b487;\n            piVar13 = __errno_location();\n            pMVar14 = (MHD_Daemon *)*piVar13;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;\n            pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n            *(char **)((int)puVar11 + -8) = pcVar24;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;\n            *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\nLAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;\n            if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }\n            if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)((int)puVar11 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;\n            MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }\n            pMVar19 = pMVar15->next;\n            if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }\n            if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }\n            pMVar15->next = (MHD_Connection *)0x0;\n            pMVar15->prev = (MHD_Connection *)0x0;\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }\n          }" { (expression_statement "pMVar10->connections = pMVar10->connections + 1;" (assignment_expression "pMVar10->connections = pMVar10->connections + 1" (field_expression "pMVar10->connections" identifier -> field_identifier) = (binary_expression "pMVar10->connections + 1" (field_expression "pMVar10->connections" identifier -> field_identifier) + number_literal)) ;) (if_statement "if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }" if (parenthesized_expression "((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)" ( (binary_expression "(pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG" (parenthesized_expression "(pMVar10->options & MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "pMVar10->options & MHD_USE_THREAD_PER_CONNECTION" (field_expression "pMVar10->options" identifier -> field_identifier) & identifier) )) == identifier) )) (compound_statement "{\n              pMVar19 = pMVar10->normal_timeout_head;\n              pMVar21 = pMVar10->normal_timeout_tail;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n              pMVar15->nextX = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }\n              pMVar10->normal_timeout_head = pMVar15;\n            }" { (expression_statement "pMVar19 = pMVar10->normal_timeout_head;" (assignment_expression "pMVar19 = pMVar10->normal_timeout_head" identifier = (field_expression "pMVar10->normal_timeout_head" identifier -> field_identifier)) ;) (expression_statement "pMVar21 = pMVar10->normal_timeout_tail;" (assignment_expression "pMVar21 = pMVar10->normal_timeout_tail" identifier = (field_expression "pMVar10->normal_timeout_tail" identifier -> field_identifier)) ;) (expression_statement "pMVar15->prevX = (MHD_Connection *)0x0;" (assignment_expression "pMVar15->prevX = (MHD_Connection *)0x0" (field_expression "pMVar15->prevX" identifier -> field_identifier) = (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pMVar15->nextX = pMVar19;" (assignment_expression "pMVar15->nextX = pMVar19" (field_expression "pMVar15->nextX" identifier -> field_identifier) = identifier) ;) (if_statement "if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevX = pMVar15;\n              }" if (parenthesized_expression "(pMVar21 == (MHD_Connection *)0x0)" ( (binary_expression "pMVar21 == (MHD_Connection *)0x0" identifier == (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pMVar10->normal_timeout_tail = pMVar15;\n              }" { (expression_statement "pMVar10->normal_timeout_tail = pMVar15;" (assignment_expression "pMVar10->normal_timeout_tail = pMVar15" (field_expression "pMVar10->normal_timeout_tail" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n                pMVar19->prevX = pMVar15;\n              }" else (compound_statement "{\n                pMVar19->prevX = pMVar15;\n              }" { (expression_statement "pMVar19->prevX = pMVar15;" (assignment_expression "pMVar19->prevX = pMVar15" (field_expression "pMVar19->prevX" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "pMVar10->normal_timeout_head = pMVar15;" (assignment_expression "pMVar10->normal_timeout_head = pMVar15" (field_expression "pMVar10->normal_timeout_head" identifier -> field_identifier) = identifier) ;) })) (expression_statement "pMVar19 = pMVar10->connections_head;" (assignment_expression "pMVar19 = pMVar10->connections_head" identifier = (field_expression "pMVar10->connections_head" identifier -> field_identifier)) ;) (expression_statement "pMVar14 = (MHD_Daemon *)pMVar10->connections_tail;" (assignment_expression "pMVar14 = (MHD_Daemon *)pMVar10->connections_tail" identifier = (cast_expression "(MHD_Daemon *)pMVar10->connections_tail" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar10->connections_tail" identifier -> field_identifier))) ;) (expression_statement "pMVar15->prev = (MHD_Connection *)0x0;" (assignment_expression "pMVar15->prev = (MHD_Connection *)0x0" (field_expression "pMVar15->prev" identifier -> field_identifier) = (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pMVar15->next = pMVar19;" (assignment_expression "pMVar15->next = pMVar19" (field_expression "pMVar15->next" identifier -> field_identifier) = identifier) ;) (if_statement "if (pMVar14 == (MHD_Daemon *)0x0) {\n              pMVar10->connections_tail = pMVar15;\n            }\n            else {\n              pMVar19->prev = pMVar15;\n            }" if (parenthesized_expression "(pMVar14 == (MHD_Daemon *)0x0)" ( (binary_expression "pMVar14 == (MHD_Daemon *)0x0" identifier == (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pMVar10->connections_tail = pMVar15;\n            }" { (expression_statement "pMVar10->connections_tail = pMVar15;" (assignment_expression "pMVar10->connections_tail = pMVar15" (field_expression "pMVar10->connections_tail" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n              pMVar19->prev = pMVar15;\n            }" else (compound_statement "{\n              pMVar19->prev = pMVar15;\n            }" { (expression_statement "pMVar19->prev = pMVar15;" (assignment_expression "pMVar19->prev = pMVar15" (field_expression "pMVar19->prev" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "pMVar10->connections_head = pMVar15;" (assignment_expression "pMVar10->connections_head = pMVar15" (field_expression "pMVar10->connections_head" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x10)" ( (binary_expression "(int)puVar11 + 0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1acda;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1acda" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar11 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar11 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar11 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) goto LAB_0001b5fd;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b5fd;" goto statement_identifier ;)) (expression_statement "p_Var4 = pMVar10->notify_connection;" (assignment_expression "p_Var4 = pMVar10->notify_connection" identifier = (field_expression "pMVar10->notify_connection" identifier -> field_identifier)) ;) (if_statement "if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }" if (parenthesized_expression "(p_Var4 != (MHD_NotifyConnectionCallback)0x0)" ( (binary_expression "p_Var4 != (MHD_NotifyConnectionCallback)0x0" identifier != (cast_expression "(MHD_NotifyConnectionCallback)0x0" ( (type_descriptor "MHD_NotifyConnectionCallback" type_identifier) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)((int)puVar11 + -4) = 0;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }" { (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;" (assignment_expression "*(void ***)((int)puVar11 + -8) = &pMVar15->socket_context" (pointer_expression "*(void ***)((int)puVar11 + -8)" * (cast_expression "(void ***)((int)puVar11 + -8)" ( (type_descriptor "void ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar15->socket_context" & (field_expression "pMVar15->socket_context" identifier -> field_identifier))) ;) (expression_statement "*(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0xc)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0xc)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;" (assignment_expression "*(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls" (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->notify_connection_cls" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1acf8" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));" (call_expression "(*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4))" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0xc)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0xc)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void ***)((int)puVar11 + -8)" * (cast_expression "(void ***)((int)puVar11 + -8)" ( (type_descriptor "void ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(MHD_ConnectionNotificationCode *)((int)puVar11 + -4)" * (cast_expression "(MHD_ConnectionNotificationCode *)((int)puVar11 + -4)" ( (type_descriptor "MHD_ConnectionNotificationCode *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "MVar26 = pMVar10->options;" (assignment_expression "MVar26 = pMVar10->options" identifier = (field_expression "pMVar10->options" identifier -> field_identifier)) ;) (if_statement "if ((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }\n            else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }" if (parenthesized_expression "((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)" ( (binary_expression "(MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG" (parenthesized_expression "(MVar26 & MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "MVar26 & MHD_USE_THREAD_PER_CONNECTION" identifier & identifier) )) == identifier) )) (compound_statement "{\n              MVar5 = (pMVar10->pid).ID;\n              (pMVar15->pid).handle = (pMVar10->pid).handle;\n              (pMVar15->pid).ID = MVar5;\n            }" { (expression_statement "MVar5 = (pMVar10->pid).ID;" (assignment_expression "MVar5 = (pMVar10->pid).ID" identifier = (field_expression "(pMVar10->pid).ID" (parenthesized_expression "(pMVar10->pid)" ( (field_expression "pMVar10->pid" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pMVar15->pid).handle = (pMVar10->pid).handle;" (assignment_expression "(pMVar15->pid).handle = (pMVar10->pid).handle" (field_expression "(pMVar15->pid).handle" (parenthesized_expression "(pMVar15->pid)" ( (field_expression "pMVar15->pid" identifier -> field_identifier) )) . field_identifier) = (field_expression "(pMVar10->pid).handle" (parenthesized_expression "(pMVar10->pid)" ( (field_expression "pMVar10->pid" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(pMVar15->pid).ID = MVar5;" (assignment_expression "(pMVar15->pid).ID = MVar5" (field_expression "(pMVar15->pid).ID" (parenthesized_expression "(pMVar15->pid)" ( (field_expression "pMVar15->pid" identifier -> field_identifier) )) . field_identifier) = identifier) ;) }) (else_clause "else {\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }" else (compound_statement "{\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;\n              *(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;\n              *(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;\n              *(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;\n              *(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;\n              iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));\n              if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }\n              MVar26 = pMVar10->options;\n            }" { (expression_statement "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35;" (assignment_expression "*(int *)((int)puVar11 + -0x14) = iVar29 + 0x1e35" (pointer_expression "*(int *)((int)puVar11 + -0x14)" * (cast_expression "(int *)((int)puVar11 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x1e35" identifier + number_literal)) ;) (expression_statement "*(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size;" (assignment_expression "*(size_t *)((int)puVar11 + -0x18) = pMVar10->thread_stack_size" (pointer_expression "*(size_t *)((int)puVar11 + -0x18)" * (cast_expression "(size_t *)((int)puVar11 + -0x18)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x18)" ( (binary_expression "(int)puVar11 + -0x18" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->thread_stack_size" identifier -> field_identifier)) ;) (expression_statement "*(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8;" (assignment_expression "*(int *)((int)puVar11 + -0x1c) = iVar29 + 0x106b8" (pointer_expression "*(int *)((int)puVar11 + -0x1c)" * (cast_expression "(int *)((int)puVar11 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x1c)" ( (binary_expression "(int)puVar11 + -0x1c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x106b8" identifier + number_literal)) ;) (expression_statement "*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid;" (assignment_expression "*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20) = &pMVar15->pid" (pointer_expression "*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20)" * (cast_expression "(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20)" ( (type_descriptor "MHD_thread_handle_ID_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x20)" ( (binary_expression "(int)puVar11 + -0x20" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar15->pid" & (field_expression "pMVar15->pid" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x24) = 0x1b2fe" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x24)" ( (binary_expression "(int)puVar11 + -0x24" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10));" (assignment_expression "iVar12 = MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10))" identifier = (call_expression "MHD_create_named_thread_\n                                 (*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10))" identifier (argument_list "(*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20),\n                                  *(char **)((int)puVar11 + -0x1c),*(size_t *)((int)puVar11 + -0x18)\n                                  ,*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14),\n                                  *(void **)((int)puVar11 + -0x10))" ( (pointer_expression "*(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20)" * (cast_expression "(MHD_thread_handle_ID_ **)((int)puVar11 + -0x20)" ( (type_descriptor "MHD_thread_handle_ID_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x20)" ( (binary_expression "(int)puVar11 + -0x20" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar11 + -0x1c)" * (cast_expression "(char **)((int)puVar11 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x1c)" ( (binary_expression "(int)puVar11 + -0x1c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)puVar11 + -0x18)" * (cast_expression "(size_t *)((int)puVar11 + -0x18)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x18)" ( (binary_expression "(int)puVar11 + -0x18" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14)" * (cast_expression "(MHD_THREAD_START_ROUTINE_ *)((int)puVar11 + -0x14)" ( (type_descriptor "MHD_THREAD_START_ROUTINE_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar12 == 0) {\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;\n                piVar13 = __errno_location();\n                pMVar14 = (MHD_Daemon *)*piVar13;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;\n                pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));\n                *(char **)((int)puVar11 + -8) = pcVar24;\n                *(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;\n                *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;\n                MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n                goto LAB_0001b19b;\n              }" { (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1b4b0;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1b4b0" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pMVar14 = (MHD_Daemon *)*piVar13;" (assignment_expression "pMVar14 = (MHD_Daemon *)*piVar13" identifier = (cast_expression "(MHD_Daemon *)*piVar13" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar13" * identifier))) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b4bb" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));" (assignment_expression "pcVar24 = strerror(*(int *)((int)puVar11 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar11 + -0x10))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar11 + -8) = pcVar24;" (assignment_expression "*(char **)((int)puVar11 + -8) = pcVar24" (pointer_expression "*(char **)((int)puVar11 + -8)" * (cast_expression "(char **)((int)puVar11 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb;" (assignment_expression "*(char **)((int)puVar11 + -0xc) = "gnutls_malloc" + iVar29 + 0xb" (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression ""gnutls_malloc" + iVar29 + 0xb" (binary_expression ""gnutls_malloc" + iVar29" (string_literal ""gnutls_malloc"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b4cc" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001b19b;" goto statement_identifier ;) })) (expression_statement "MVar26 = pMVar10->options;" (assignment_expression "MVar26 = pMVar10->options" identifier = (field_expression "pMVar10->options" identifier -> field_identifier)) ;) }))) (if_statement "if ((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG) {\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }" if (parenthesized_expression "((MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG)" ( (binary_expression "(MVar26 & MHD_USE_EPOLL) == MHD_NO_FLAG" (parenthesized_expression "(MVar26 & MHD_USE_EPOLL)" ( (binary_expression "MVar26 & MHD_USE_EPOLL" identifier & identifier) )) == identifier) )) (compound_statement "{\n              if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }\n              goto LAB_0001ab43;\n            }" { (if_statement "if ((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)) {\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }" if (parenthesized_expression "((((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1))" ( (binary_expression "(((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')) &&\n                 (iVar12 = (pMVar10->itc).fd, iVar12 != -1)" (parenthesized_expression "(((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0'))" ( (binary_expression "((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) &&\n                  (*(char *)((int)puVar11 + 0x14) != '\0')" (parenthesized_expression "((MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)" ( (binary_expression "(MVar26 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG" (parenthesized_expression "(MVar26 & MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "MVar26 & MHD_USE_THREAD_PER_CONNECTION" identifier & identifier) )) == identifier) )) && (parenthesized_expression "(*(char *)((int)puVar11 + 0x14) != '\0')" ( (binary_expression "*(char *)((int)puVar11 + 0x14) != '\0'" (pointer_expression "*(char *)((int)puVar11 + 0x14)" * (cast_expression "(char *)((int)puVar11 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x14)" ( (binary_expression "(int)puVar11 + 0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(iVar12 = (pMVar10->itc).fd, iVar12 != -1)" ( (comma_expression "iVar12 = (pMVar10->itc).fd, iVar12 != -1" (assignment_expression "iVar12 = (pMVar10->itc).fd" identifier = (field_expression "(pMVar10->itc).fd" (parenthesized_expression "(pMVar10->itc)" ( (field_expression "pMVar10->itc" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "iVar12 != -1" identifier != number_literal)) ))) )) (compound_statement "{\n                *(undefined4 *)((int)puVar11 + -8) = 8;\n                *(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;\n                *(int *)((int)puVar11 + -0x10) = iVar12;\n                *(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;\n                sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));\n                if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }\n              }" { (expression_statement "*(undefined4 *)((int)puVar11 + -8) = 8;" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = 8" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x11e05" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x11e05" identifier + number_literal)) ;) (expression_statement "*(int *)((int)puVar11 + -0x10) = iVar12;" (assignment_expression "*(int *)((int)puVar11 + -0x10) = iVar12" (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b423;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b423" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8));" (assignment_expression "sVar22 = write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8))" identifier = (call_expression "write(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n                               *(size_t *)((int)puVar11 + -8))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar11 + -0xc)" * (cast_expression "(void **)((int)puVar11 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)puVar11 + -8)" * (cast_expression "(size_t *)((int)puVar11 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (sVar22 < 1) {\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }" if (parenthesized_expression "(sVar22 < 1)" ( (binary_expression "sVar22 < 1" identifier < number_literal) )) (compound_statement "{\n                  *(undefined4 *)((int)puVar11 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }\n                }" { (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1b433;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1b433" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar13 != 0xb) {\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }" if (parenthesized_expression "(*piVar13 != 0xb)" ( (binary_expression "*piVar13 != 0xb" (pointer_expression "*piVar13" * identifier) != number_literal) )) (compound_statement "{\n                    *(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;\n                    *(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;\n                    *(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;\n                    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n                    *(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;\n                    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;\n                  }" { (expression_statement "*(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = extraout_EDX_01" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01;" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = extraout_EDX_01" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb;" (assignment_expression "*(char **)((int)puVar11 + -0xc) = "gnutls_dh_params_init" + iVar29 + 0xb" (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression ""gnutls_dh_params_init" + iVar29 + 0xb" (binary_expression ""gnutls_dh_params_init" + iVar29" (string_literal ""gnutls_dh_params_init"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b44b" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))\n                    ;" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) })) })) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (if_statement "if (((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')) {\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }" if (parenthesized_expression "(((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0'))" ( (binary_expression "((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG) &&\n               (*(char *)((int)puVar11 + 0x14) == '\0')" (parenthesized_expression "((MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG)" ( (binary_expression "(MVar26 & MHD_USE_EPOLL_TURBO) != MHD_NO_FLAG" (parenthesized_expression "(MVar26 & MHD_USE_EPOLL_TURBO)" ( (binary_expression "MVar26 & MHD_USE_EPOLL_TURBO" identifier & identifier) )) != identifier) )) && (parenthesized_expression "(*(char *)((int)puVar11 + 0x14) == '\0')" ( (binary_expression "*(char *)((int)puVar11 + 0x14) == '\0'" (pointer_expression "*(char *)((int)puVar11 + 0x14)" * (cast_expression "(char *)((int)puVar11 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x14)" ( (binary_expression "(int)puVar11 + 0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              pMVar19 = pMVar10->eready_head;\n              pMVar21 = pMVar10->eready_tail;\n              (((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;\n              pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);\n              pMVar15->nextE = pMVar19;\n              if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }\n              pMVar10->eready_head = pMVar15;\n              goto LAB_0001ab43;\n            }" { (expression_statement "pMVar19 = pMVar10->eready_head;" (assignment_expression "pMVar19 = pMVar10->eready_head" identifier = (field_expression "pMVar10->eready_head" identifier -> field_identifier)) ;) (expression_statement "pMVar21 = pMVar10->eready_tail;" (assignment_expression "pMVar21 = pMVar10->eready_tail" identifier = (field_expression "pMVar10->eready_tail" identifier -> field_identifier)) ;) (expression_statement "(((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0;" (assignment_expression "(((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr = 0" (field_expression "(((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr" (parenthesized_expression "(((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4)" ( (field_expression "((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4" (parenthesized_expression "((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)" ( (cast_expression "(anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE" ( (type_descriptor "anon_union_16_2_31a35c43_for_addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pMVar15->prevE" & (field_expression "pMVar15->prevE" identifier -> field_identifier))) )) -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY);" (assignment_expression "pMVar15->epoll_state =\n                   pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY)" (field_expression "pMVar15->epoll_state" identifier -> field_identifier) = (binary_expression "pMVar15->epoll_state |\n                   (MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY)" (field_expression "pMVar15->epoll_state" identifier -> field_identifier) | (parenthesized_expression "(MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY)" ( (binary_expression "MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY|\n                   MHD_EPOLL_STATE_READ_READY" (binary_expression "MHD_EPOLL_STATE_IN_EREADY_EDLL|MHD_EPOLL_STATE_WRITE_READY" identifier | identifier) | identifier) )))) ;) (expression_statement "pMVar15->nextE = pMVar19;" (assignment_expression "pMVar15->nextE = pMVar19" (field_expression "pMVar15->nextE" identifier -> field_identifier) = identifier) ;) (if_statement "if (pMVar21 == (MHD_Connection *)0x0) {\n                pMVar10->eready_tail = pMVar15;\n              }\n              else {\n                pMVar19->prevE = pMVar15;\n              }" if (parenthesized_expression "(pMVar21 == (MHD_Connection *)0x0)" ( (binary_expression "pMVar21 == (MHD_Connection *)0x0" identifier == (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pMVar10->eready_tail = pMVar15;\n              }" { (expression_statement "pMVar10->eready_tail = pMVar15;" (assignment_expression "pMVar10->eready_tail = pMVar15" (field_expression "pMVar10->eready_tail" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n                pMVar19->prevE = pMVar15;\n              }" else (compound_statement "{\n                pMVar19->prevE = pMVar15;\n              }" { (expression_statement "pMVar19->prevE = pMVar15;" (assignment_expression "pMVar19->prevE = pMVar15" (field_expression "pMVar19->prevE" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "pMVar10->eready_head = pMVar15;" (assignment_expression "pMVar10->eready_head = pMVar15" (field_expression "pMVar10->eready_head" identifier -> field_identifier) = identifier) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar11 + 0x20) = 0x80000007;" (assignment_expression "*(undefined4 *)((int)puVar11 + 0x20) = 0x80000007" (pointer_expression "*(undefined4 *)((int)puVar11 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar11 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x20)" ( (binary_expression "(int)puVar11 + 0x20" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + 0x24) = pMVar15" (pointer_expression "*(MHD_Connection **)((int)puVar11 + 0x24)" * (cast_expression "(MHD_Connection **)((int)puVar11 + 0x24)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + 0x24)" ( (binary_expression "(int)puVar11 + 0x24" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20);" (assignment_expression "*(undefined1 **)((int)puVar11 + -4) = (undefined1 *)((int)puVar11 + 0x20)" (pointer_expression "*(undefined1 **)((int)puVar11 + -4)" * (cast_expression "(undefined1 **)((int)puVar11 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar11 + 0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x20)" ( (binary_expression "(int)puVar11 + 0x20" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8)" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 8)" * (cast_expression "(undefined4 *)((int)puVar11 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 8)" ( (binary_expression "(int)puVar11 + 8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd;" (assignment_expression "*(int *)((int)puVar11 + -0x10) = pMVar10->epoll_fd" (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->epoll_fd" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b336;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b336" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4));" (assignment_expression "iVar12 = epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4))" identifier = (call_expression "epoll_ctl(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10),*(int *)((int)puVar11 + -0xc),\n                               *(int *)((int)puVar11 + -8),*(epoll_event **)((int)puVar11 + -4))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar11 + -8)" * (cast_expression "(int *)((int)puVar11 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(epoll_event **)((int)puVar11 + -4)" * (cast_expression "(epoll_event **)((int)puVar11 + -4)" ( (type_descriptor "epoll_event **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar12 == 0) {\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;\n              goto LAB_0001ab43;\n            }" { (expression_statement "pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET;" (assignment_expression "pMVar15->epoll_state = pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET" (field_expression "pMVar15->epoll_state" identifier -> field_identifier) = (binary_expression "pMVar15->epoll_state | MHD_EPOLL_STATE_IN_EPOLL_SET" (field_expression "pMVar15->epoll_state" identifier -> field_identifier) | identifier)) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1b487;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1b487" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pMVar14 = (MHD_Daemon *)*piVar13;" (assignment_expression "pMVar14 = (MHD_Daemon *)*piVar13" identifier = (cast_expression "(MHD_Daemon *)*piVar13" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar13" * identifier))) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b492;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b492" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar24 = strerror(*(int *)((int)puVar11 + -0x10));" (assignment_expression "pcVar24 = strerror(*(int *)((int)puVar11 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar11 + -0x10))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar11 + -8) = pcVar24;" (assignment_expression "*(char **)((int)puVar11 + -8) = pcVar24" (pointer_expression "*(char **)((int)puVar11 + -8)" * (cast_expression "(char **)((int)puVar11 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0xf750" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0xf750" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b4a3" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (labeled_statement "LAB_0001b19b:\n            p_Var4 = pMVar10->notify_connection;" statement_identifier : (expression_statement "p_Var4 = pMVar10->notify_connection;" (assignment_expression "p_Var4 = pMVar10->notify_connection" identifier = (field_expression "pMVar10->notify_connection" identifier -> field_identifier)) ;)) (if_statement "if (p_Var4 != (MHD_NotifyConnectionCallback)0x0) {\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }" if (parenthesized_expression "(p_Var4 != (MHD_NotifyConnectionCallback)0x0)" ( (binary_expression "p_Var4 != (MHD_NotifyConnectionCallback)0x0" identifier != (cast_expression "(MHD_NotifyConnectionCallback)0x0" ( (type_descriptor "MHD_NotifyConnectionCallback" type_identifier) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)((int)puVar11 + -4) = 1;\n              *(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;\n              *(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;\n              *(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;\n              (*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));\n            }" { (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 1;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 1" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(void ***)((int)puVar11 + -8) = &pMVar15->socket_context;" (assignment_expression "*(void ***)((int)puVar11 + -8) = &pMVar15->socket_context" (pointer_expression "*(void ***)((int)puVar11 + -8)" * (cast_expression "(void ***)((int)puVar11 + -8)" ( (type_descriptor "void ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar15->socket_context" & (field_expression "pMVar15->socket_context" identifier -> field_identifier))) ;) (expression_statement "*(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0xc)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0xc)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls;" (assignment_expression "*(void **)((int)puVar11 + -0x10) = pMVar10->notify_connection_cls" (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->notify_connection_cls" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b1ae" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4));" (call_expression "(*p_Var4)(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4))" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "(*(void **)((int)puVar11 + -0x10),*(MHD_Connection **)((int)puVar11 + -0xc),\n                        *(void ***)((int)puVar11 + -8),\n                        *(MHD_ConnectionNotificationCode *)((int)puVar11 + -4))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0xc)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0xc)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void ***)((int)puVar11 + -8)" * (cast_expression "(void ***)((int)puVar11 + -8)" ( (type_descriptor "void ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(MHD_ConnectionNotificationCode *)((int)puVar11 + -4)" * (cast_expression "(MHD_ConnectionNotificationCode *)((int)puVar11 + -4)" ( (type_descriptor "MHD_ConnectionNotificationCode *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (if_statement "if (pMVar15->tls_session != (gnutls_session_t)0x0) {\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }" if (parenthesized_expression "(pMVar15->tls_session != (gnutls_session_t)0x0)" ( (binary_expression "pMVar15->tls_session != (gnutls_session_t)0x0" (field_expression "pMVar15->tls_session" identifier -> field_identifier) != (cast_expression "(gnutls_session_t)0x0" ( (type_descriptor "gnutls_session_t" type_identifier) ) number_literal)) )) (compound_statement "{\n              *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }" { (expression_statement "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;" (assignment_expression "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session" (pointer_expression "*(gnutls_session_t *)((int)puVar11 + -0x10)" * (cast_expression "(gnutls_session_t *)((int)puVar11 + -0x10)" ( (type_descriptor "gnutls_session_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar15->tls_session" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b1c4" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_deinit();" (call_expression "gnutls_deinit()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 8)" * (cast_expression "(undefined4 *)((int)puVar11 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 8)" ( (binary_expression "(int)puVar11 + 8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b1d3" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)((int)puVar11 + -0x10));" (assignment_expression "iVar12 = close(*(int *)((int)puVar11 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar11 + -0x10))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) {\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)((int)puVar11 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              puVar32 = (undefined1 *)puVar11;\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }" { (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1b1df;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1b1df" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar32 = (undefined1 *)puVar11;" (assignment_expression "puVar32 = (undefined1 *)puVar11" identifier = (cast_expression "(undefined1 *)puVar11" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*piVar13 == 9) goto LAB_0001b500;" if (parenthesized_expression "(*piVar13 == 9)" ( (binary_expression "*piVar13 == 9" (pointer_expression "*piVar13" * identifier) == number_literal) )) (goto_statement "goto LAB_0001b500;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1b1f7;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1b1f7" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50));" (call_expression "MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50))" identifier (argument_list "(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                             *(socklen_t *)((int)puVar11 + 0x50))" ( identifier , (pointer_expression "*(sockaddr **)((int)puVar11 + 0xc)" * (cast_expression "(sockaddr **)((int)puVar11 + 0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + 0xc)" ( (binary_expression "(int)puVar11 + 0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar11 + 0x50)" * (cast_expression "(socklen_t *)((int)puVar11 + 0x50)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x50)" ( (binary_expression "(int)puVar11 + 0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x10)" ( (binary_expression "(int)puVar11 + 0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b203;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b203" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10))" identifier = (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)((int)puVar11 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar11 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar11 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar11 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) goto LAB_0001b5de;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b5de;" goto statement_identifier ;)) (if_statement "if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG) {\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }" if (parenthesized_expression "((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)" ( (binary_expression "(pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG" (parenthesized_expression "(pMVar10->options & MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "pMVar10->options & MHD_USE_THREAD_PER_CONNECTION" (field_expression "pMVar10->options" identifier -> field_identifier) & identifier) )) == identifier) )) (compound_statement "{\n              pMVar19 = pMVar15->nextX;\n              if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }\n              puVar32 = (undefined1 *)puVar11;\n              if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;\n              pMVar19->prevX = pMVar21;\nLAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;\n              pMVar15->prevX = (MHD_Connection *)0x0;\n            }" { (expression_statement "pMVar19 = pMVar15->nextX;" (assignment_expression "pMVar19 = pMVar15->nextX" identifier = (field_expression "pMVar15->nextX" identifier -> field_identifier)) ;) (if_statement "if (pMVar15->prevX == (MHD_Connection *)0x0) {\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }\n              else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }" if (parenthesized_expression "(pMVar15->prevX == (MHD_Connection *)0x0)" ( (binary_expression "pMVar15->prevX == (MHD_Connection *)0x0" (field_expression "pMVar15->prevX" identifier -> field_identifier) == (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pMVar10->normal_timeout_head = pMVar19;\n                pMVar21 = (MHD_Connection *)0x0;\n              }" { (expression_statement "pMVar10->normal_timeout_head = pMVar19;" (assignment_expression "pMVar10->normal_timeout_head = pMVar19" (field_expression "pMVar10->normal_timeout_head" identifier -> field_identifier) = identifier) ;) (expression_statement "pMVar21 = (MHD_Connection *)0x0;" (assignment_expression "pMVar21 = (MHD_Connection *)0x0" identifier = (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }" else (compound_statement "{\n                pMVar15->prevX->nextX = pMVar19;\n                pMVar19 = pMVar15->nextX;\n                pMVar21 = pMVar15->prevX;\n              }" { (expression_statement "pMVar15->prevX->nextX = pMVar19;" (assignment_expression "pMVar15->prevX->nextX = pMVar19" (field_expression "pMVar15->prevX->nextX" (field_expression "pMVar15->prevX" identifier -> field_identifier) -> field_identifier) = identifier) ;) (expression_statement "pMVar19 = pMVar15->nextX;" (assignment_expression "pMVar19 = pMVar15->nextX" identifier = (field_expression "pMVar15->nextX" identifier -> field_identifier)) ;) (expression_statement "pMVar21 = pMVar15->prevX;" (assignment_expression "pMVar21 = pMVar15->prevX" identifier = (field_expression "pMVar15->prevX" identifier -> field_identifier)) ;) }))) (expression_statement "puVar32 = (undefined1 *)puVar11;" (assignment_expression "puVar32 = (undefined1 *)puVar11" identifier = (cast_expression "(undefined1 *)puVar11" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pMVar19 == (MHD_Connection *)0x0) goto LAB_0001b472;" if (parenthesized_expression "(pMVar19 == (MHD_Connection *)0x0)" ( (binary_expression "pMVar19 == (MHD_Connection *)0x0" identifier == (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001b472;" goto statement_identifier ;)) (expression_statement "pMVar19->prevX = pMVar21;" (assignment_expression "pMVar19->prevX = pMVar21" (field_expression "pMVar19->prevX" identifier -> field_identifier) = identifier) ;) (labeled_statement "LAB_0001b239:\n              pMVar15->nextX = (MHD_Connection *)0x0;" statement_identifier : (expression_statement "pMVar15->nextX = (MHD_Connection *)0x0;" (assignment_expression "pMVar15->nextX = (MHD_Connection *)0x0" (field_expression "pMVar15->nextX" identifier -> field_identifier) = (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pMVar15->prevX = (MHD_Connection *)0x0;" (assignment_expression "pMVar15->prevX = (MHD_Connection *)0x0" (field_expression "pMVar15->prevX" identifier -> field_identifier) = (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "pMVar19 = pMVar15->next;" (assignment_expression "pMVar19 = pMVar15->next" identifier = (field_expression "pMVar15->next" identifier -> field_identifier)) ;) (if_statement "if (pMVar15->prev == (MHD_Connection *)0x0) {\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }\n            else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }" if (parenthesized_expression "(pMVar15->prev == (MHD_Connection *)0x0)" ( (binary_expression "pMVar15->prev == (MHD_Connection *)0x0" (field_expression "pMVar15->prev" identifier -> field_identifier) == (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pMVar10->connections_head = pMVar19;\n              pMVar21 = (MHD_Connection *)0x0;\n            }" { (expression_statement "pMVar10->connections_head = pMVar19;" (assignment_expression "pMVar10->connections_head = pMVar19" (field_expression "pMVar10->connections_head" identifier -> field_identifier) = identifier) ;) (expression_statement "pMVar21 = (MHD_Connection *)0x0;" (assignment_expression "pMVar21 = (MHD_Connection *)0x0" identifier = (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }" else (compound_statement "{\n              pMVar15->prev->next = pMVar19;\n              pMVar19 = pMVar15->next;\n              pMVar21 = pMVar15->prev;\n            }" { (expression_statement "pMVar15->prev->next = pMVar19;" (assignment_expression "pMVar15->prev->next = pMVar19" (field_expression "pMVar15->prev->next" (field_expression "pMVar15->prev" identifier -> field_identifier) -> field_identifier) = identifier) ;) (expression_statement "pMVar19 = pMVar15->next;" (assignment_expression "pMVar19 = pMVar15->next" identifier = (field_expression "pMVar15->next" identifier -> field_identifier)) ;) (expression_statement "pMVar21 = pMVar15->prev;" (assignment_expression "pMVar21 = pMVar15->prev" identifier = (field_expression "pMVar15->prev" identifier -> field_identifier)) ;) }))) (if_statement "if (pMVar19 == (MHD_Connection *)0x0) {\n              pMVar10->connections_tail = pMVar21;\n            }\n            else {\n              pMVar19->prev = pMVar21;\n            }" if (parenthesized_expression "(pMVar19 == (MHD_Connection *)0x0)" ( (binary_expression "pMVar19 == (MHD_Connection *)0x0" identifier == (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pMVar10->connections_tail = pMVar21;\n            }" { (expression_statement "pMVar10->connections_tail = pMVar21;" (assignment_expression "pMVar10->connections_tail = pMVar21" (field_expression "pMVar10->connections_tail" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n              pMVar19->prev = pMVar21;\n            }" else (compound_statement "{\n              pMVar19->prev = pMVar21;\n            }" { (expression_statement "pMVar19->prev = pMVar21;" (assignment_expression "pMVar19->prev = pMVar21" (field_expression "pMVar19->prev" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "pMVar15->next = (MHD_Connection *)0x0;" (assignment_expression "pMVar15->next = (MHD_Connection *)0x0" (field_expression "pMVar15->next" identifier -> field_identifier) = (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pMVar15->prev = (MHD_Connection *)0x0;" (assignment_expression "pMVar15->prev = (MHD_Connection *)0x0" (field_expression "pMVar15->prev" identifier -> field_identifier) = (cast_expression "(MHD_Connection *)0x0" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x10)" ( (binary_expression "(int)puVar11 + 0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b283;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b283" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar11 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar11 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar11 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar12 == 0) {\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              *(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;\n              MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));\n              *(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;\n              free(*(void **)((int)puVar11 + -0x10));\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }\n              goto LAB_0001ab43;\n            }" { (expression_statement "*(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool;" (assignment_expression "*(MemoryPool **)((int)puVar11 + -0x10) = pMVar15->pool" (pointer_expression "*(MemoryPool **)((int)puVar11 + -0x10)" * (cast_expression "(MemoryPool **)((int)puVar11 + -0x10)" ( (type_descriptor "MemoryPool **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar15->pool" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b299;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b299" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10));" (call_expression "MHD_pool_destroy(*(MemoryPool **)((int)puVar11 + -0x10))" identifier (argument_list "(*(MemoryPool **)((int)puVar11 + -0x10))" ( (pointer_expression "*(MemoryPool **)((int)puVar11 + -0x10)" * (cast_expression "(MemoryPool **)((int)puVar11 + -0x10)" ( (type_descriptor "MemoryPool **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;" (assignment_expression "*(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr" (pointer_expression "*(sockaddr **)((int)puVar11 + -0x10)" * (cast_expression "(sockaddr **)((int)puVar11 + -0x10)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar15->addr" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b2a2" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar11 + -0x10));" (call_expression "free(*(void **)((int)puVar11 + -0x10))" identifier (argument_list "(*(void **)((int)puVar11 + -0x10))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b2aa" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar11 + -0x10));" (call_expression "free(*(void **)((int)puVar11 + -0x10))" identifier (argument_list "(*(void **)((int)puVar11 + -0x10))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b2af" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (pMVar14 == (MHD_Daemon *)0x0) {\n                *piVar13 = 0x16;\n              }\n              else {\n                *piVar13 = (int)pMVar14;\n              }" if (parenthesized_expression "(pMVar14 == (MHD_Daemon *)0x0)" ( (binary_expression "pMVar14 == (MHD_Daemon *)0x0" identifier == (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *piVar13 = 0x16;\n              }" { (expression_statement "*piVar13 = 0x16;" (assignment_expression "*piVar13 = 0x16" (pointer_expression "*piVar13" * identifier) = number_literal) ;) }) (else_clause "else {\n                *piVar13 = (int)pMVar14;\n              }" else (compound_statement "{\n                *piVar13 = (int)pMVar14;\n              }" { (expression_statement "*piVar13 = (int)pMVar14;" (assignment_expression "*piVar13 = (int)pMVar14" (pointer_expression "*piVar13" * identifier) = (cast_expression "(int)pMVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) }) (else_clause "else {\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }" else (compound_statement "{\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));\n            if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }\n            *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;\n            *(undefined4 *)((int)puVar11 + -8) = 0x9ea;\n            *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n            puVar32 = (undefined1 *)((int)puVar11 + -0x10);\n            *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;\n            (*pcVar28)();\nLAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;\n            *(undefined4 *)(puVar32 + -8) = 0xa56;\n            *(int *)(puVar32 + -0xc) = iVar29 + 0x10659;\n            puVar11 = (undefined4 *)(puVar32 + -0x10);\n            *(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n            pcVar28 = *(code **)(iVar29 + 0x1a681);\n            *(undefined4 *)(puVar32 + -0x14) = 0x1b51f;\n            (*pcVar28)();\n          }" { (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x10)" ( (binary_expression "(int)puVar11 + 0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b178;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b178" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)((int)puVar11 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar11 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar11 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar11 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar12 == 0) {\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              pMVar14 = (MHD_Daemon *)0x17;\n              *(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;\n              *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n              *(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;\n              MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n              goto LAB_0001b19b;\n            }" { (expression_statement "pMVar14 = (MHD_Daemon *)0x17;" (assignment_expression "pMVar14 = (MHD_Daemon *)0x17" identifier = (cast_expression "(MHD_Daemon *)0x17" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7;" (assignment_expression "*(char **)((int)puVar11 + -0xc) = "__fdelt_chk" + iVar29 + 7" (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression ""__fdelt_chk" + iVar29 + 7" (binary_expression ""__fdelt_chk" + iVar29" (string_literal ""__fdelt_chk"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b198;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b198" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001b19b;" goto statement_identifier ;) })) (expression_statement "*(int *)((int)puVar11 + -4) = iVar29 + 0xf639;" (assignment_expression "*(int *)((int)puVar11 + -4) = iVar29 + 0xf639" (pointer_expression "*(int *)((int)puVar11 + -4)" * (cast_expression "(int *)((int)puVar11 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0xf639" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = 0x9ea;" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = 0x9ea" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar32 = (undefined1 *)((int)puVar11 + -0x10);" (assignment_expression "puVar32 = (undefined1 *)((int)puVar11 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b500;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b500" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b500:\n            *(int *)(puVar32 + -4) = iVar29 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar32 + -4) = iVar29 + 0x1066d;" (assignment_expression "*(int *)(puVar32 + -4) = iVar29 + 0x1066d" (pointer_expression "*(int *)(puVar32 + -4)" * (cast_expression "(int *)(puVar32 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -4)" ( (binary_expression "puVar32 + -4" identifier + number_literal) )))) = (binary_expression "iVar29 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar32 + -8) = 0xa56;" (assignment_expression "*(undefined4 *)(puVar32 + -8) = 0xa56" (pointer_expression "*(undefined4 *)(puVar32 + -8)" * (cast_expression "(undefined4 *)(puVar32 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -8)" ( (binary_expression "puVar32 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar32 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)(puVar32 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)(puVar32 + -0xc)" * (cast_expression "(int *)(puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0xc)" ( (binary_expression "puVar32 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar11 = (undefined4 *)(puVar32 + -0x10);" (assignment_expression "puVar11 = (undefined4 *)(puVar32 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar32 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x10)" ( (binary_expression "puVar32 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar32 + -0x10)" * (cast_expression "(undefined4 *)(puVar32 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x10)" ( (binary_expression "puVar32 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x14) = 0x1b51f;" (assignment_expression "*(undefined4 *)(puVar32 + -0x14) = 0x1b51f" (pointer_expression "*(undefined4 *)(puVar32 + -0x14)" * (cast_expression "(undefined4 *)(puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x14)" ( (binary_expression "puVar32 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) }))) (expression_statement "*(int *)((int)puVar11 + -4) = iVar29 + 0xf639;" (assignment_expression "*(int *)((int)puVar11 + -4) = iVar29 + 0xf639" (pointer_expression "*(int *)((int)puVar11 + -4)" * (cast_expression "(int *)((int)puVar11 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0xf639" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = 0xa67;" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = 0xa67" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar33 = (undefined4 *)((int)puVar11 + -0x10);" (assignment_expression "puVar33 = (undefined4 *)((int)puVar11 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b53e" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001b53e;" goto statement_identifier ;) })) (expression_statement "pMVar15->tls_state = MHD_TLS_CONN_INIT;" (assignment_expression "pMVar15->tls_state = MHD_TLS_CONN_INIT" (field_expression "pMVar15->tls_state" identifier -> field_identifier) = identifier) ;) (expression_statement "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1af9c" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10));" (call_expression "MHD_set_https_callbacks(*(MHD_Connection **)((int)puVar11 + -0x10))" identifier (argument_list "(*(MHD_Connection **)((int)puVar11 + -0x10))" ( (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = 0x49;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = 0x49" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session;" (assignment_expression "*(gnutls_session_t **)((int)puVar11 + -0x10) = &pMVar15->tls_session" (pointer_expression "*(gnutls_session_t **)((int)puVar11 + -0x10)" * (cast_expression "(gnutls_session_t **)((int)puVar11 + -0x10)" ( (type_descriptor "gnutls_session_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar15->tls_session" & (field_expression "pMVar15->tls_session" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1afac;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1afac" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_init();" (call_expression "gnutls_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache;" (assignment_expression "*(gnutls_priority_t *)((int)puVar11 + -0xc) = pMVar10->priority_cache" (pointer_expression "*(gnutls_priority_t *)((int)puVar11 + -0xc)" * (cast_expression "(gnutls_priority_t *)((int)puVar11 + -0xc)" ( (type_descriptor "gnutls_priority_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->priority_cache" identifier -> field_identifier)) ;) (expression_statement "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;" (assignment_expression "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session" (pointer_expression "*(gnutls_session_t *)((int)puVar11 + -0x10)" * (cast_expression "(gnutls_session_t *)((int)puVar11 + -0x10)" ( (type_descriptor "gnutls_session_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar15->tls_session" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1afbf" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_priority_set();" (call_expression "gnutls_priority_set()" identifier (argument_list "()" ( ))) ;) (expression_statement "pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc);" (assignment_expression "pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0xc)" identifier = (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0xc)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0xc)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0xc) = pMVar15" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0xc)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0xc)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;" (assignment_expression "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session" (pointer_expression "*(gnutls_session_t *)((int)puVar11 + -0x10)" * (cast_expression "(gnutls_session_t *)((int)puVar11 + -0x10)" ( (type_descriptor "gnutls_session_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar15->tls_session" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1afcd" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_session_set_ptr();" (call_expression "gnutls_session_set_ptr()" identifier (argument_list "()" ( ))) ;) (expression_statement "gVar7 = pMVar10->cred_type;" (assignment_expression "gVar7 = pMVar10->cred_type" identifier = (field_expression "pMVar10->cred_type" identifier -> field_identifier)) ;) (if_statement "if (gVar7 == GNUTLS_CRD_CERTIFICATE) {\n          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 1;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }" if (parenthesized_expression "(gVar7 == GNUTLS_CRD_CERTIFICATE)" ( (binary_expression "gVar7 == GNUTLS_CRD_CERTIFICATE" identifier == identifier) )) (compound_statement "{\n          *(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 1;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);\n          *(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }" { (expression_statement "*(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred;" (assignment_expression "*(gnutls_certificate_credentials_t *)((int)puVar11 + -8) = pMVar10->x509_cred" (pointer_expression "*(gnutls_certificate_credentials_t *)((int)puVar11 + -8)" * (cast_expression "(gnutls_certificate_credentials_t *)((int)puVar11 + -8)" ( (type_descriptor "gnutls_certificate_credentials_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->x509_cred" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;" (assignment_expression "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session" (pointer_expression "*(gnutls_session_t *)((int)puVar11 + -0x10)" * (cast_expression "(gnutls_session_t *)((int)puVar11 + -0x10)" ( (type_descriptor "gnutls_session_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar15->tls_session" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b3dd" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_credentials_set();" (call_expression "gnutls_credentials_set()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b38a:\n          *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8);" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)((int)puVar11 + 8)" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 8)" * (cast_expression "(undefined4 *)((int)puVar11 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 8)" ( (binary_expression "(int)puVar11 + 8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = *(undefined4 *)((int)puVar11 + 8)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 8)" * (cast_expression "(undefined4 *)((int)puVar11 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 8)" ( (binary_expression "(int)puVar11 + 8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;" (assignment_expression "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session" (pointer_expression "*(gnutls_session_t *)((int)puVar11 + -0x10)" * (cast_expression "(gnutls_session_t *)((int)puVar11 + -0x10)" ( (type_descriptor "gnutls_session_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar15->tls_session" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b39e" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_transport_set_int2();" (call_expression "gnutls_transport_set_int2()" identifier (argument_list "()" ( ))) ;) (if_statement "if (pMVar10->https_mem_trust != (char *)0x0) {\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }" if (parenthesized_expression "(pMVar10->https_mem_trust != (char *)0x0)" ( (binary_expression "pMVar10->https_mem_trust != (char *)0x0" (field_expression "pMVar10->https_mem_trust" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined4 *)((int)puVar11 + -0xc) = 1;\n            *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n            *(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }" { (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;" (assignment_expression "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session" (pointer_expression "*(gnutls_session_t *)((int)puVar11 + -0x10)" * (cast_expression "(gnutls_session_t *)((int)puVar11 + -0x10)" ( (type_descriptor "gnutls_session_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar15->tls_session" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b3bf" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_certificate_server_set_request();" (call_expression "gnutls_certificate_server_set_request()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0001ac50;" goto statement_identifier ;) })) (if_statement "if (gVar7 == GNUTLS_CRD_PSK) {\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 4;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }" if (parenthesized_expression "(gVar7 == GNUTLS_CRD_PSK)" ( (binary_expression "gVar7 == GNUTLS_CRD_PSK" identifier == identifier) )) (compound_statement "{\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0xc) = 4;\n          *(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;\n          *(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }" { (expression_statement "*(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred;" (assignment_expression "*(gnutls_psk_server_credentials_t *)((int)puVar11 + -8) = pMVar10->psk_cred" (pointer_expression "*(gnutls_psk_server_credentials_t *)((int)puVar11 + -8)" * (cast_expression "(gnutls_psk_server_credentials_t *)((int)puVar11 + -8)" ( (type_descriptor "gnutls_psk_server_credentials_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->psk_cred" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = 4;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = 4" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session;" (assignment_expression "*(gnutls_session_t *)((int)puVar11 + -0x10) = pMVar15->tls_session" (pointer_expression "*(gnutls_session_t *)((int)puVar11 + -0x10)" * (cast_expression "(gnutls_session_t *)((int)puVar11 + -0x10)" ( (type_descriptor "gnutls_session_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar15->tls_session" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b373;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b373" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_credentials_set();" (call_expression "gnutls_credentials_set()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + -0xcbb" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + -0xcbb" identifier + number_literal)) ;) (expression_statement "*(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred;" (assignment_expression "*(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10) = pMVar10->psk_cred" (pointer_expression "*(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10)" * (cast_expression "(gnutls_psk_server_credentials_t *)((int)puVar11 + -0x10)" ( (type_descriptor "gnutls_psk_server_credentials_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->psk_cred" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b387;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b387" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_psk_set_server_credentials_function();" (call_expression "gnutls_psk_set_server_credentials_function()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001b38a;" goto statement_identifier ;) })) (expression_statement "*(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7;" (assignment_expression "*(gnutls_credentials_type_t *)((int)puVar11 + -8) = gVar7" (pointer_expression "*(gnutls_credentials_type_t *)((int)puVar11 + -8)" * (cast_expression "(gnutls_credentials_type_t *)((int)puVar11 + -8)" ( (type_descriptor "gnutls_credentials_type_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5;" (assignment_expression "*(char **)((int)puVar11 + -0xc) = "gnutls_record_check_pending" + iVar29 + 5" (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression ""gnutls_record_check_pending" + iVar29 + 5" (binary_expression ""gnutls_record_check_pending" + iVar29" (string_literal ""gnutls_record_check_pending"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar15->daemon" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar15->daemon" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1affb;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1affb" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10);" (assignment_expression "pMVar14 = *(MHD_Daemon **)((int)puVar11 + -0x10)" identifier = (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)((int)puVar11 + 8)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar11 + 8)" * (cast_expression "(undefined4 *)((int)puVar11 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 8)" ( (binary_expression "(int)puVar11 + 8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b005;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b005" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)((int)puVar11 + -0x10));" (assignment_expression "iVar12 = close(*(int *)((int)puVar11 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar11 + -0x10))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) {\n          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;\n          (*pcVar28)();\n          pMVar21 = extraout_EDX_02;\nLAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;\n          puVar11 = (undefined4 *)puVar32;\n          goto LAB_0001b239;\n        }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)((int)puVar11 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;\n          *(undefined4 *)((int)puVar11 + -8) = 0x9c3;\n          *(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;\n          *(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);\n          pcVar28 = *(code **)(iVar29 + 0x1a681);\n          *(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;\n          (*pcVar28)();\n          pMVar21 = extraout_EDX_02;\nLAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;\n          puVar11 = (undefined4 *)puVar32;\n          goto LAB_0001b239;\n        }" { (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1b011;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1b011" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar13 != 9) goto LAB_0001b01a;" if (parenthesized_expression "(*piVar13 != 9)" ( (binary_expression "*piVar13 != 9" (pointer_expression "*piVar13" * identifier) != number_literal) )) (goto_statement "goto LAB_0001b01a;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;" (assignment_expression "*(int *)((int)puVar11 + -4) = iVar29 + 0x1066d" (pointer_expression "*(int *)((int)puVar11 + -4)" * (cast_expression "(int *)((int)puVar11 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x1066d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = 0x9c3;" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = 0x9c3" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b472;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b472" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pMVar21 = extraout_EDX_02;" (assignment_expression "pMVar21 = extraout_EDX_02" identifier = identifier) ;) (labeled_statement "LAB_0001b472:\n          pMVar10->normal_timeout_tail = pMVar21;" statement_identifier : (expression_statement "pMVar10->normal_timeout_tail = pMVar21;" (assignment_expression "pMVar10->normal_timeout_tail = pMVar21" (field_expression "pMVar10->normal_timeout_tail" identifier -> field_identifier) = identifier) ;)) (expression_statement "puVar11 = (undefined4 *)puVar32;" (assignment_expression "puVar11 = (undefined4 *)puVar32" identifier = (cast_expression "(undefined4 *)puVar32" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_0001b239;" goto statement_identifier ;) })) (labeled_statement "LAB_0001b01a:\n        *(undefined4 *)((int)puVar11 + -4) = 0x1b029;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x1b029;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x1b029" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50));" (call_expression "MHD_ip_limit_del(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50))" identifier (argument_list "(pMVar10,*(sockaddr **)((int)puVar11 + 0xc),\n                         *(socklen_t *)((int)puVar11 + 0x50))" ( identifier , (pointer_expression "*(sockaddr **)((int)puVar11 + 0xc)" * (cast_expression "(sockaddr **)((int)puVar11 + 0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + 0xc)" ( (binary_expression "(int)puVar11 + 0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar11 + 0x50)" * (cast_expression "(socklen_t *)((int)puVar11 + 0x50)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0x50)" ( (binary_expression "(int)puVar11 + 0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr;" (assignment_expression "*(sockaddr **)((int)puVar11 + -0x10) = pMVar15->addr" (pointer_expression "*(sockaddr **)((int)puVar11 + -0x10)" * (cast_expression "(sockaddr **)((int)puVar11 + -0x10)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar15->addr" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b034;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b034" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar11 + -0x10));" (call_expression "free(*(void **)((int)puVar11 + -0x10))" identifier (argument_list "(*(void **)((int)puVar11 + -0x10))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0x10) = pMVar15" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b03c" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar11 + -0x10));" (call_expression "free(*(void **)((int)puVar11 + -0x10))" identifier (argument_list "(*(void **)((int)puVar11 + -0x10))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0;" (assignment_expression "*(int *)((int)puVar11 + -0x14) = iVar29 + 0x106a0" (pointer_expression "*(int *)((int)puVar11 + -0x14)" * (cast_expression "(int *)((int)puVar11 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x106a0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x18) = 0x9c9;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x18) = 0x9c9" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x18)" ( (binary_expression "(int)puVar11 + -0x18" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659;" (assignment_expression "*(int *)((int)puVar11 + -0x1c) = iVar29 + 0x10659" (pointer_expression "*(int *)((int)puVar11 + -0x1c)" * (cast_expression "(int *)((int)puVar11 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x1c)" ( (binary_expression "(int)puVar11 + -0x1c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x20) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x20)" ( (binary_expression "(int)puVar11 + -0x20" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x24) = 0x1b05b" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x24)" ( (binary_expression "(int)puVar11 + -0x24" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar19 = (MHD_Connection *)(*pcVar28)();" (assignment_expression "pMVar19 = (MHD_Connection *)(*pcVar28)()" identifier = (cast_expression "(MHD_Connection *)(*pcVar28)()" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar11 = (undefined4 *)((int)puVar11 + -0x20);" (assignment_expression "puVar11 = (undefined4 *)((int)puVar11 + -0x20)" identifier = (cast_expression "(undefined4 *)((int)puVar11 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x20)" ( (binary_expression "(int)puVar11 + -0x20" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001b05b:\n        pMVar19->nextE = (MHD_Connection *)0x2;" statement_identifier : (expression_statement "pMVar19->nextE = (MHD_Connection *)0x2;" (assignment_expression "pMVar19->nextE = (MHD_Connection *)0x2" (field_expression "pMVar19->nextE" identifier -> field_identifier) = (cast_expression "(MHD_Connection *)0x2" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "(((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =\n             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4);" (assignment_expression "(((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr =\n             *(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4)" (field_expression "(((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4).s_addr" (parenthesized_expression "(((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4)" ( (field_expression "((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)->ipv4" (parenthesized_expression "((anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE)" ( (cast_expression "(anon_union_16_2_31a35c43_for_addr *)&pMVar15->prevE" ( (type_descriptor "anon_union_16_2_31a35c43_for_addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pMVar15->prevE" & (field_expression "pMVar15->prevE" identifier -> field_identifier))) )) -> field_identifier) )) . field_identifier) = (pointer_expression "*(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4)" * (cast_expression "(in_addr_t *)(*(int *)((int)puVar11 + 0xc) + 4)" ( (type_descriptor "in_addr_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)puVar11 + 0xc) + 4)" ( (binary_expression "*(int *)((int)puVar11 + 0xc) + 4" (pointer_expression "*(int *)((int)puVar11 + 0xc)" * (cast_expression "(int *)((int)puVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0xc)" ( (binary_expression "(int)puVar11 + 0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pMVar19 = pMVar15;" (assignment_expression "pMVar19 = pMVar15" identifier = identifier) ;) (labeled_statement "LAB_0001b06b:\n        puVar11[6] = &pMVar14->per_ip_connection_mutex;" statement_identifier : (expression_statement "puVar11[6] = &pMVar14->per_ip_connection_mutex;" (assignment_expression "puVar11[6] = &pMVar14->per_ip_connection_mutex" (subscript_expression "puVar11[6]" identifier [ number_literal ]) = (pointer_expression "&pMVar14->per_ip_connection_mutex" & (field_expression "pMVar14->per_ip_connection_mutex" identifier -> field_identifier))) ;)) (expression_statement "puVar11[-4] = &pMVar14->per_ip_connection_mutex;" (assignment_expression "puVar11[-4] = &pMVar14->per_ip_connection_mutex" (subscript_expression "puVar11[-4]" identifier [ number_literal ]) = (pointer_expression "&pMVar14->per_ip_connection_mutex" & (field_expression "pMVar14->per_ip_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "puVar11[-5] = 0x1b07e;" (assignment_expression "puVar11[-5] = 0x1b07e" (subscript_expression "puVar11[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4]);" (assignment_expression "iVar12 = pthread_mutex_lock((pthread_mutex_t *)puVar11[-4])" identifier = (call_expression "pthread_mutex_lock((pthread_mutex_t *)puVar11[-4])" identifier (argument_list "((pthread_mutex_t *)puVar11[-4])" ( (cast_expression "(pthread_mutex_t *)puVar11[-4]" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[-4]" identifier [ number_literal ])) )))) ;) (expression_statement "pMVar15 = pMVar19;" (assignment_expression "pMVar15 = pMVar19" identifier = identifier) ;) (if_statement "if (iVar12 != 0) goto LAB_0001b5ba;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b5ba;" goto statement_identifier ;)) (expression_statement "puVar11[-2] = iVar29 + -0xceb;" (assignment_expression "puVar11[-2] = iVar29 + -0xceb" (subscript_expression "puVar11[-2]" identifier [ number_literal ]) = (binary_expression "iVar29 + -0xceb" identifier + number_literal)) ;) (expression_statement "puVar11[-3] = &pMVar14->per_ip_connection_count;" (assignment_expression "puVar11[-3] = &pMVar14->per_ip_connection_count" (subscript_expression "puVar11[-3]" identifier [ number_literal ]) = (pointer_expression "&pMVar14->per_ip_connection_count" & (field_expression "pMVar14->per_ip_connection_count" identifier -> field_identifier))) ;) (expression_statement "puVar11[-4] = pMVar19;" (assignment_expression "puVar11[-4] = pMVar19" (subscript_expression "puVar11[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[-5] = 0x1b09d;" (assignment_expression "puVar11[-5] = 0x1b09d" (subscript_expression "puVar11[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar20 = (undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2]);" (assignment_expression "puVar20 = (undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2])" identifier = (cast_expression "(undefined4 *)\n                  tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "tsearch((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2])" identifier (argument_list "((void *)puVar11[-4],(void **)puVar11[-3],(__compar_fn_t)puVar11[-2])" ( (cast_expression "(void *)puVar11[-4]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[-4]" identifier [ number_literal ])) , (cast_expression "(void **)puVar11[-3]" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar11[-3]" identifier [ number_literal ])) , (cast_expression "(__compar_fn_t)puVar11[-2]" ( (type_descriptor "__compar_fn_t" type_identifier) ) (subscript_expression "puVar11[-2]" identifier [ number_literal ])) ))))) ;) (expression_statement "puVar33 = puVar11;" (assignment_expression "puVar33 = puVar11" identifier = identifier) ;) (if_statement "if (puVar20 == (undefined4 *)0x0) {\n          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;\n          puVar11[-4] = pMVar14;\n          puVar11[-5] = 0x1b120;\n          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);\n          puVar11[-4] = puVar11[6];\n          puVar11[-5] = 0x1b12a;\n          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n          if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }\n          break;\n        }" if (parenthesized_expression "(puVar20 == (undefined4 *)0x0)" ( (binary_expression "puVar20 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;\n          puVar11[-4] = pMVar14;\n          puVar11[-5] = 0x1b120;\n          MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);\n          puVar11[-4] = puVar11[6];\n          puVar11[-5] = 0x1b12a;\n          iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n          if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }\n          break;\n        }" { (expression_statement "puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10;" (assignment_expression "puVar11[-3] = "gnutls_record_get_direction" + iVar29 + 10" (subscript_expression "puVar11[-3]" identifier [ number_literal ]) = (binary_expression ""gnutls_record_get_direction" + iVar29 + 10" (binary_expression ""gnutls_record_get_direction" + iVar29" (string_literal ""gnutls_record_get_direction"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "puVar11[-4] = pMVar14;" (assignment_expression "puVar11[-4] = pMVar14" (subscript_expression "puVar11[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[-5] = 0x1b120;" (assignment_expression "puVar11[-5] = 0x1b120" (subscript_expression "puVar11[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3]);" (call_expression "MHD_DLOG((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3])" identifier (argument_list "((MHD_Daemon *)puVar11[-4],(char *)puVar11[-3])" ( (cast_expression "(MHD_Daemon *)puVar11[-4]" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[-4]" identifier [ number_literal ])) , (cast_expression "(char *)puVar11[-3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[-3]" identifier [ number_literal ])) ))) ;) (expression_statement "puVar11[-4] = puVar11[6];" (assignment_expression "puVar11[-4] = puVar11[6]" (subscript_expression "puVar11[-4]" identifier [ number_literal ]) = (subscript_expression "puVar11[6]" identifier [ number_literal ])) ;) (expression_statement "puVar11[-5] = 0x1b12a;" (assignment_expression "puVar11[-5] = 0x1b12a" (subscript_expression "puVar11[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);" (assignment_expression "iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4])" identifier = (call_expression "pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4])" identifier (argument_list "((pthread_mutex_t *)puVar11[-4])" ( (cast_expression "(pthread_mutex_t *)puVar11[-4]" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[-4]" identifier [ number_literal ])) )))) ;) (if_statement "if (iVar12 == 0) {\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar11[-4] = pMVar19;\n            puVar11[-5] = 0x1b13a;\n            free((void *)puVar11[-4]);\n            goto LAB_0001ab0a;\n          }" { (expression_statement "puVar11[-4] = pMVar19;" (assignment_expression "puVar11[-4] = pMVar19" (subscript_expression "puVar11[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[-5] = 0x1b13a;" (assignment_expression "puVar11[-5] = 0x1b13a" (subscript_expression "puVar11[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "free((void *)puVar11[-4]);" (call_expression "free((void *)puVar11[-4])" identifier (argument_list "((void *)puVar11[-4])" ( (cast_expression "(void *)puVar11[-4]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[-4]" identifier [ number_literal ])) ))) ;) (goto_statement "goto LAB_0001ab0a;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "pMVar21 = (MHD_Connection *)*puVar20;" (assignment_expression "pMVar21 = (MHD_Connection *)*puVar20" identifier = (cast_expression "(MHD_Connection *)*puVar20" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) (if_statement "if (pMVar19 != pMVar21) {\n          puVar11[7] = pMVar21;\n          puVar11[-4] = pMVar19;\n          puVar11[-5] = 0x1b0b7;\n          free((void *)puVar11[-4]);\n          pMVar21 = (MHD_Connection *)puVar11[7];\n        }" if (parenthesized_expression "(pMVar19 != pMVar21)" ( (binary_expression "pMVar19 != pMVar21" identifier != identifier) )) (compound_statement "{\n          puVar11[7] = pMVar21;\n          puVar11[-4] = pMVar19;\n          puVar11[-5] = 0x1b0b7;\n          free((void *)puVar11[-4]);\n          pMVar21 = (MHD_Connection *)puVar11[7];\n        }" { (expression_statement "puVar11[7] = pMVar21;" (assignment_expression "puVar11[7] = pMVar21" (subscript_expression "puVar11[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[-4] = pMVar19;" (assignment_expression "puVar11[-4] = pMVar19" (subscript_expression "puVar11[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[-5] = 0x1b0b7;" (assignment_expression "puVar11[-5] = 0x1b0b7" (subscript_expression "puVar11[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "free((void *)puVar11[-4]);" (call_expression "free((void *)puVar11[-4])" identifier (argument_list "((void *)puVar11[-4])" ( (cast_expression "(void *)puVar11[-4]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[-4]" identifier [ number_literal ])) ))) ;) (expression_statement "pMVar21 = (MHD_Connection *)puVar11[7];" (assignment_expression "pMVar21 = (MHD_Connection *)puVar11[7]" identifier = (cast_expression "(MHD_Connection *)puVar11[7]" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[7]" identifier [ number_literal ]))) ;) })) (if_statement "if ((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX) goto LAB_0001b0f0;" if (parenthesized_expression "((MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX)" ( (binary_expression "(MHD_Connection *)pMVar14->per_ip_connection_limit <= pMVar21->prevX" (cast_expression "(MHD_Connection *)pMVar14->per_ip_connection_limit" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar14->per_ip_connection_limit" identifier -> field_identifier)) <= (field_expression "pMVar21->prevX" identifier -> field_identifier)) )) (goto_statement "goto LAB_0001b0f0;" goto statement_identifier ;)) (expression_statement "pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1);" (assignment_expression "pMVar21->prevX = (MHD_Connection *)((int)&pMVar21->prevX->nextE + 1)" (field_expression "pMVar21->prevX" identifier -> field_identifier) = (cast_expression "(MHD_Connection *)((int)&pMVar21->prevX->nextE + 1)" ( (type_descriptor "MHD_Connection *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pMVar21->prevX->nextE + 1)" ( (binary_expression "(int)&pMVar21->prevX->nextE + 1" (cast_expression "(int)&pMVar21->prevX->nextE" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar21->prevX->nextE" & (field_expression "pMVar21->prevX->nextE" (field_expression "pMVar21->prevX" identifier -> field_identifier) -> field_identifier))) + number_literal) )))) ;) (expression_statement "puVar11[-4] = puVar11[6];" (assignment_expression "puVar11[-4] = puVar11[6]" (subscript_expression "puVar11[-4]" identifier [ number_literal ]) = (subscript_expression "puVar11[6]" identifier [ number_literal ])) ;) (expression_statement "puVar11[-5] = 0x1b0db;" (assignment_expression "puVar11[-5] = 0x1b0db" (subscript_expression "puVar11[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);" (assignment_expression "iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4])" identifier = (call_expression "pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4])" identifier (argument_list "((pthread_mutex_t *)puVar11[-4])" ( (cast_expression "(pthread_mutex_t *)puVar11[-4]" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[-4]" identifier [ number_literal ])) )))) ;) }) while (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) ;) (do_statement "do {\n        puVar11[-1] = 0x1b0eb;\n        MHD_ip_count_unlock((MHD_Daemon *)*puVar11);\nLAB_0001b0f0:\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      } while (iVar12 != 0);" do (compound_statement "{\n        puVar11[-1] = 0x1b0eb;\n        MHD_ip_count_unlock((MHD_Daemon *)*puVar11);\nLAB_0001b0f0:\n        puVar11[-4] = puVar11[6];\n        puVar11[-5] = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);\n      }" { (expression_statement "puVar11[-1] = 0x1b0eb;" (assignment_expression "puVar11[-1] = 0x1b0eb" (subscript_expression "puVar11[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "MHD_ip_count_unlock((MHD_Daemon *)*puVar11);" (call_expression "MHD_ip_count_unlock((MHD_Daemon *)*puVar11)" identifier (argument_list "((MHD_Daemon *)*puVar11)" ( (cast_expression "(MHD_Daemon *)*puVar11" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier)) ))) ;) (labeled_statement "LAB_0001b0f0:\n        puVar11[-4] = puVar11[6];" statement_identifier : (expression_statement "puVar11[-4] = puVar11[6];" (assignment_expression "puVar11[-4] = puVar11[6]" (subscript_expression "puVar11[-4]" identifier [ number_literal ]) = (subscript_expression "puVar11[6]" identifier [ number_literal ])) ;)) (expression_statement "puVar11[-5] = 0x1b0fc;" (assignment_expression "puVar11[-5] = 0x1b0fc" (subscript_expression "puVar11[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4]);" (assignment_expression "iVar12 = pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4])" identifier = (call_expression "pthread_mutex_unlock((pthread_mutex_t *)puVar11[-4])" identifier (argument_list "((pthread_mutex_t *)puVar11[-4])" ( (cast_expression "(pthread_mutex_t *)puVar11[-4]" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[-4]" identifier [ number_literal ])) )))) ;) }) while (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) ;) })) (labeled_statement "LAB_0001ab0a:\n    *(char **)((int)puVar33 + -0xc) = "__fdelt_chk" + iVar29 + 7;" statement_identifier : (expression_statement "*(char **)((int)puVar33 + -0xc) = "__fdelt_chk" + iVar29 + 7;" (assignment_expression "*(char **)((int)puVar33 + -0xc) = "__fdelt_chk" + iVar29 + 7" (pointer_expression "*(char **)((int)puVar33 + -0xc)" * (cast_expression "(char **)((int)puVar33 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar33 + -0xc)" ( (binary_expression "(int)puVar33 + -0xc" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression ""__fdelt_chk" + iVar29 + 7" (binary_expression ""__fdelt_chk" + iVar29" (string_literal ""__fdelt_chk"" " string_content ") + identifier) + number_literal)) ;)) (expression_statement "*(MHD_Daemon **)((int)puVar33 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar33 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar33 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar33 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar33 + -0x10)" ( (binary_expression "(int)puVar33 + -0x10" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar33 + -0x14) = 0x1ab1a;" (assignment_expression "*(undefined4 *)((int)puVar33 + -0x14) = 0x1ab1a" (pointer_expression "*(undefined4 *)((int)puVar33 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar33 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0x14)" ( (binary_expression "(int)puVar33 + -0x14" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar33 + -0x10),*(char **)((int)puVar33 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar33 + -0x10),*(char **)((int)puVar33 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar33 + -0x10),*(char **)((int)puVar33 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar33 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar33 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar33 + -0x10)" ( (binary_expression "(int)puVar33 + -0x10" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar33 + -0xc)" * (cast_expression "(char **)((int)puVar33 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar33 + -0xc)" ( (binary_expression "(int)puVar33 + -0xc" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)((int)puVar33 + 8);" (assignment_expression "*(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)((int)puVar33 + 8)" (pointer_expression "*(undefined4 *)((int)puVar33 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar33 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0x10)" ( (binary_expression "(int)puVar33 + -0x10" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar33 + 8)" * (cast_expression "(undefined4 *)((int)puVar33 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + 8)" ( (binary_expression "(int)puVar33 + 8" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar33 + -0x14) = 0x1ab24;" (assignment_expression "*(undefined4 *)((int)puVar33 + -0x14) = 0x1ab24" (pointer_expression "*(undefined4 *)((int)puVar33 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar33 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0x14)" ( (binary_expression "(int)puVar33 + -0x14" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar33 + -0x10));" (assignment_expression "pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar33 + -0x10))" identifier = (cast_expression "(MHD_Daemon *)close(*(int *)((int)puVar33 + -0x10))" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "close(*(int *)((int)puVar33 + -0x10))" identifier (argument_list "(*(int *)((int)puVar33 + -0x10))" ( (pointer_expression "*(int *)((int)puVar33 + -0x10)" * (cast_expression "(int *)((int)puVar33 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0x10)" ( (binary_expression "(int)puVar33 + -0x10" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar33 + -0x14) = 0x1ab2b;" (assignment_expression "*(undefined4 *)((int)puVar33 + -0x14) = 0x1ab2b" (pointer_expression "*(undefined4 *)((int)puVar33 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar33 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0x14)" ( (binary_expression "(int)puVar33 + -0x14" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((pMVar10 == (MHD_Daemon *)0x0) || (*piVar13 != 9)) goto LAB_0001ab3b;" if (parenthesized_expression "((pMVar10 == (MHD_Daemon *)0x0) || (*piVar13 != 9))" ( (binary_expression "(pMVar10 == (MHD_Daemon *)0x0) || (*piVar13 != 9)" (parenthesized_expression "(pMVar10 == (MHD_Daemon *)0x0)" ( (binary_expression "pMVar10 == (MHD_Daemon *)0x0" identifier == (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar13 != 9)" ( (binary_expression "*piVar13 != 9" (pointer_expression "*piVar13" * identifier) != number_literal) ))) )) (goto_statement "goto LAB_0001ab3b;" goto statement_identifier ;)) (labeled_statement "LAB_0001b53e:\n    *(int *)((int)puVar33 + -4) = iVar29 + 0x1066d;" statement_identifier : (expression_statement "*(int *)((int)puVar33 + -4) = iVar29 + 0x1066d;" (assignment_expression "*(int *)((int)puVar33 + -4) = iVar29 + 0x1066d" (pointer_expression "*(int *)((int)puVar33 + -4)" * (cast_expression "(int *)((int)puVar33 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -4)" ( (binary_expression "(int)puVar33 + -4" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar33 + -8) = 0x93d;" (assignment_expression "*(undefined4 *)((int)puVar33 + -8) = 0x93d" (pointer_expression "*(undefined4 *)((int)puVar33 + -8)" * (cast_expression "(undefined4 *)((int)puVar33 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -8)" ( (binary_expression "(int)puVar33 + -8" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)((int)puVar33 + -0xc)" * (cast_expression "(int *)((int)puVar33 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0xc)" ( (binary_expression "(int)puVar33 + -0xc" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar11 = (undefined4 *)((int)puVar33 + -0x10);" (assignment_expression "puVar11 = (undefined4 *)((int)puVar33 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar33 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0x10)" ( (binary_expression "(int)puVar33 + -0x10" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)((int)puVar33 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar33 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0x10)" ( (binary_expression "(int)puVar33 + -0x10" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar33 + -0x14) = 0x1b55d;" (assignment_expression "*(undefined4 *)((int)puVar33 + -0x14) = 0x1b55d" (pointer_expression "*(undefined4 *)((int)puVar33 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar33 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0x14)" ( (binary_expression "(int)puVar33 + -0x14" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pMVar19 = pMVar15;" (assignment_expression "pMVar19 = pMVar15" identifier = identifier) ;) (labeled_statement "LAB_0001b55d:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;" statement_identifier : (expression_statement "*(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;" (assignment_expression "*(int *)((int)puVar11 + -4) = iVar29 + 0x1066d" (pointer_expression "*(int *)((int)puVar11 + -4)" * (cast_expression "(int *)((int)puVar11 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = 0x950;" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = 0x950" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b57c;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b57c" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar11 = (undefined4 *)((int)puVar11 + -0x10);" (assignment_expression "puVar11 = (undefined4 *)((int)puVar11 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001b57c:\n    *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;" statement_identifier : (expression_statement "*(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;" (assignment_expression "*(int *)((int)puVar11 + -4) = iVar29 + 0x1066d" (pointer_expression "*(int *)((int)puVar11 + -4)" * (cast_expression "(int *)((int)puVar11 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = 0x962;" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = 0x962" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b59b;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b59b" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar32 = (undefined1 *)((int)puVar11 + -0x10);" (assignment_expression "puVar32 = (undefined1 *)((int)puVar11 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n    *(undefined4 *)((int)puVar11 + -4) = 0x400;\n    pMVar14 = *(MHD_Daemon **)((int)puVar11 + 8);\n    *(MHD_Daemon **)((int)puVar11 + -8) = pMVar14;\n    *(char **)((int)puVar11 + -0xc) = "pthread_self" + iVar29 + 10;\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adc7;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adcf;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar11 + -0x10));\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1add6;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (puVar32 = (undefined1 *)puVar11, *piVar13 != 9)) {\n      *piVar13 = 0x16;\n      goto LAB_0001ab43;\n    }\n  }" else (compound_statement "{\n    *(undefined4 *)((int)puVar11 + -4) = 0x400;\n    pMVar14 = *(MHD_Daemon **)((int)puVar11 + 8);\n    *(MHD_Daemon **)((int)puVar11 + -8) = pMVar14;\n    *(char **)((int)puVar11 + -0xc) = "pthread_self" + iVar29 + 10;\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adc7;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));\n    *(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1adcf;\n    pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar11 + -0x10));\n    *(undefined4 *)((int)puVar11 + -0x14) = 0x1add6;\n    piVar13 = __errno_location();\n    if ((pMVar10 == (MHD_Daemon *)0x0) || (puVar32 = (undefined1 *)puVar11, *piVar13 != 9)) {\n      *piVar13 = 0x16;\n      goto LAB_0001ab43;\n    }\n  }" { (expression_statement "*(undefined4 *)((int)puVar11 + -4) = 0x400;" (assignment_expression "*(undefined4 *)((int)puVar11 + -4) = 0x400" (pointer_expression "*(undefined4 *)((int)puVar11 + -4)" * (cast_expression "(undefined4 *)((int)puVar11 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar14 = *(MHD_Daemon **)((int)puVar11 + 8);" (assignment_expression "pMVar14 = *(MHD_Daemon **)((int)puVar11 + 8)" identifier = (pointer_expression "*(MHD_Daemon **)((int)puVar11 + 8)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + 8)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + 8)" ( (binary_expression "(int)puVar11 + 8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -8) = pMVar14;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -8) = pMVar14" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -8)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -8)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar11 + -0xc) = "pthread_self" + iVar29 + 10;" (assignment_expression "*(char **)((int)puVar11 + -0xc) = "pthread_self" + iVar29 + 10" (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression ""pthread_self" + iVar29 + 10" (binary_expression ""pthread_self" + iVar29" (string_literal ""pthread_self"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1adc7;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1adc7" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar11 + -0x10),*(char **)((int)puVar11 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar11 + -0xc)" * (cast_expression "(char **)((int)puVar11 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x10) = pMVar14" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1adcf;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1adcf" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar11 + -0x10));" (assignment_expression "pMVar10 = (MHD_Daemon *)close(*(int *)((int)puVar11 + -0x10))" identifier = (cast_expression "(MHD_Daemon *)close(*(int *)((int)puVar11 + -0x10))" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "close(*(int *)((int)puVar11 + -0x10))" identifier (argument_list "(*(int *)((int)puVar11 + -0x10))" ( (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1add6;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1add6" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((pMVar10 == (MHD_Daemon *)0x0) || (puVar32 = (undefined1 *)puVar11, *piVar13 != 9)) {\n      *piVar13 = 0x16;\n      goto LAB_0001ab43;\n    }" if (parenthesized_expression "((pMVar10 == (MHD_Daemon *)0x0) || (puVar32 = (undefined1 *)puVar11, *piVar13 != 9))" ( (binary_expression "(pMVar10 == (MHD_Daemon *)0x0) || (puVar32 = (undefined1 *)puVar11, *piVar13 != 9)" (parenthesized_expression "(pMVar10 == (MHD_Daemon *)0x0)" ( (binary_expression "pMVar10 == (MHD_Daemon *)0x0" identifier == (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar32 = (undefined1 *)puVar11, *piVar13 != 9)" ( (comma_expression "puVar32 = (undefined1 *)puVar11, *piVar13 != 9" (assignment_expression "puVar32 = (undefined1 *)puVar11" identifier = (cast_expression "(undefined1 *)puVar11" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "*piVar13 != 9" (pointer_expression "*piVar13" * identifier) != number_literal)) ))) )) (compound_statement "{\n      *piVar13 = 0x16;\n      goto LAB_0001ab43;\n    }" { (expression_statement "*piVar13 = 0x16;" (assignment_expression "*piVar13 = 0x16" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) })))) (expression_statement "*(int *)(puVar32 + -4) = iVar29 + 0x1066d;" (assignment_expression "*(int *)(puVar32 + -4) = iVar29 + 0x1066d" (pointer_expression "*(int *)(puVar32 + -4)" * (cast_expression "(int *)(puVar32 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -4)" ( (binary_expression "puVar32 + -4" identifier + number_literal) )))) = (binary_expression "iVar29 + 0x1066d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar32 + -8) = 0x912;" (assignment_expression "*(undefined4 *)(puVar32 + -8) = 0x912" (pointer_expression "*(undefined4 *)(puVar32 + -8)" * (cast_expression "(undefined4 *)(puVar32 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -8)" ( (binary_expression "puVar32 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar32 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)(puVar32 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)(puVar32 + -0xc)" * (cast_expression "(int *)(puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0xc)" ( (binary_expression "puVar32 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar11 = (undefined4 *)(puVar32 + -0x10);" (assignment_expression "puVar11 = (undefined4 *)(puVar32 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar32 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x10)" ( (binary_expression "puVar32 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar32 + -0x10)" * (cast_expression "(undefined4 *)(puVar32 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x10)" ( (binary_expression "puVar32 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x14) = 0x1b5ba;" (assignment_expression "*(undefined4 *)(puVar32 + -0x14) = 0x1b5ba" (pointer_expression "*(undefined4 *)(puVar32 + -0x14)" * (cast_expression "(undefined4 *)(puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x14)" ( (binary_expression "puVar32 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pMVar15 = pMVar19;" (assignment_expression "pMVar15 = pMVar19" identifier = identifier) ;) (labeled_statement "LAB_0001b5ba:\n  puVar11[-1] = 0x1b5bf;" statement_identifier : (expression_statement "puVar11[-1] = 0x1b5bf;" (assignment_expression "puVar11[-1] = 0x1b5bf" (subscript_expression "puVar11[-1]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "MHD_ip_count_lock((MHD_Daemon *)*puVar11);" (call_expression "MHD_ip_count_lock((MHD_Daemon *)*puVar11)" identifier (argument_list "((MHD_Daemon *)*puVar11)" ( (cast_expression "(MHD_Daemon *)*puVar11" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier)) ))) ;) (expression_statement "puVar33 = puVar11;" (assignment_expression "puVar33 = puVar11" identifier = identifier) ;) (labeled_statement "LAB_0001b5bf:\n  *(int *)((int)puVar33 + -4) = iVar29 + 0xf615;" statement_identifier : (expression_statement "*(int *)((int)puVar33 + -4) = iVar29 + 0xf615;" (assignment_expression "*(int *)((int)puVar33 + -4) = iVar29 + 0xf615" (pointer_expression "*(int *)((int)puVar33 + -4)" * (cast_expression "(int *)((int)puVar33 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -4)" ( (binary_expression "(int)puVar33 + -4" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0xf615" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar33 + -8) = 0x9e4;" (assignment_expression "*(undefined4 *)((int)puVar33 + -8) = 0x9e4" (pointer_expression "*(undefined4 *)((int)puVar33 + -8)" * (cast_expression "(undefined4 *)((int)puVar33 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -8)" ( (binary_expression "(int)puVar33 + -8" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)((int)puVar33 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)((int)puVar33 + -0xc)" * (cast_expression "(int *)((int)puVar33 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0xc)" ( (binary_expression "(int)puVar33 + -0xc" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar11 = (undefined4 *)((int)puVar33 + -0x10);" (assignment_expression "puVar11 = (undefined4 *)((int)puVar33 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar33 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0x10)" ( (binary_expression "(int)puVar33 + -0x10" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)((int)puVar33 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)((int)puVar33 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar33 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0x10)" ( (binary_expression "(int)puVar33 + -0x10" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar33 + -0x14) = 0x1b5de;" (assignment_expression "*(undefined4 *)((int)puVar33 + -0x14) = 0x1b5de" (pointer_expression "*(undefined4 *)((int)puVar33 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar33 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar33 + -0x14)" ( (binary_expression "(int)puVar33 + -0x14" (cast_expression "(int)puVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b5de:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0xf615;" statement_identifier : (expression_statement "*(int *)((int)puVar11 + -4) = iVar29 + 0xf615;" (assignment_expression "*(int *)((int)puVar11 + -4) = iVar29 + 0xf615" (pointer_expression "*(int *)((int)puVar11 + -4)" * (cast_expression "(int *)((int)puVar11 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0xf615" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = 0xa5b;" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = 0xa5b" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b5fd;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b5fd" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar11 = (undefined4 *)((int)puVar11 + -0x10);" (assignment_expression "puVar11 = (undefined4 *)((int)puVar11 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001b5fd:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0xf639;" statement_identifier : (expression_statement "*(int *)((int)puVar11 + -4) = iVar29 + 0xf639;" (assignment_expression "*(int *)((int)puVar11 + -4) = iVar29 + 0xf639" (pointer_expression "*(int *)((int)puVar11 + -4)" * (cast_expression "(int *)((int)puVar11 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0xf639" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = 0xa01;" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = 0xa01" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b61c;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b61c" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar11 = (undefined4 *)((int)puVar11 + -0x10);" (assignment_expression "puVar11 = (undefined4 *)((int)puVar11 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001b61c:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;" statement_identifier : (expression_statement "*(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;" (assignment_expression "*(int *)((int)puVar11 + -4) = iVar29 + 0x1066d" (pointer_expression "*(int *)((int)puVar11 + -4)" * (cast_expression "(int *)((int)puVar11 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = 0x985;" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = 0x985" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b63b;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b63b" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar11 = (undefined4 *)((int)puVar11 + -0x10);" (assignment_expression "puVar11 = (undefined4 *)((int)puVar11 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001b63b:\n  *(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;" statement_identifier : (expression_statement "*(int *)((int)puVar11 + -4) = iVar29 + 0x1066d;" (assignment_expression "*(int *)((int)puVar11 + -4) = iVar29 + 0x1066d" (pointer_expression "*(int *)((int)puVar11 + -4)" * (cast_expression "(int *)((int)puVar11 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = 0x971;" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = 0x971" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659;" (assignment_expression "*(int *)((int)puVar11 + -0xc) = iVar29 + 0x10659" (pointer_expression "*(int *)((int)puVar11 + -0xc)" * (cast_expression "(int *)((int)puVar11 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x10) = *(undefined4 *)(iVar29 + 0x1a67d)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar29 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x1a67d)" ( (binary_expression "iVar29 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x1a681);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar29 + 0x1a681)" * (cast_expression "(code **)(iVar29 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x1a681)" ( (binary_expression "iVar29 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b65a;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0x1b65a" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar23 = (MHD_Daemon *)(*pcVar28)();" (assignment_expression "pMVar23 = (MHD_Daemon *)(*pcVar28)()" identifier = (cast_expression "(MHD_Daemon *)(*pcVar28)()" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "*(MHD_Connection **)((int)puVar11 + -0x14) = pMVar15;" (assignment_expression "*(MHD_Connection **)((int)puVar11 + -0x14) = pMVar15" (pointer_expression "*(MHD_Connection **)((int)puVar11 + -0x14)" * (cast_expression "(MHD_Connection **)((int)puVar11 + -0x14)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x18) = pMVar14;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x18) = pMVar14" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x18)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x18)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x18)" ( (binary_expression "(int)puVar11 + -0x18" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x1c) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x1c) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x1c)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x1c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x1c)" ( (binary_expression "(int)puVar11 + -0x1c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar11 + -0x20) = iVar29 + 0x1a3f5;" (assignment_expression "*(int *)((int)puVar11 + -0x20) = iVar29 + 0x1a3f5" (pointer_expression "*(int *)((int)puVar11 + -0x20)" * (cast_expression "(int *)((int)puVar11 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x20)" ( (binary_expression "(int)puVar11 + -0x20" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x1a3f5" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x24) = 0x1b66d;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x24) = 0x1b66d" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x24)" ( (binary_expression "(int)puVar11 + -0x24" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar29 = *(int *)((int)puVar11 + -0x24);" (assignment_expression "iVar29 = *(int *)((int)puVar11 + -0x24)" identifier = (pointer_expression "*(int *)((int)puVar11 + -0x24)" * (cast_expression "(int *)((int)puVar11 + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x24)" ( (binary_expression "(int)puVar11 + -0x24" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x30)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x30)" ( (binary_expression "(int)puVar11 + -0x30" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x50) = 0x1c;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x50) = 0x1c" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x50)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x50)" ( (binary_expression "(int)puVar11 + -0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "psVar17 = (sockaddr *)((int)puVar11 + -0x4c);" (assignment_expression "psVar17 = (sockaddr *)((int)puVar11 + -0x4c)" identifier = (cast_expression "(sockaddr *)((int)puVar11 + -0x4c)" ( (type_descriptor "sockaddr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x4c)" ( (binary_expression "(int)puVar11 + -0x4c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n    pcVar24 = psVar17->sa_data + (uVar9 - 2);\n    pcVar24[0] = '\0';\n    pcVar24[1] = '\0';\n    pcVar24[2] = '\0';\n    pcVar24[3] = '\0';\n    uVar9 = uVar9 + 4;\n  } while (uVar9 < 0x1c);" do (compound_statement "{\n    pcVar24 = psVar17->sa_data + (uVar9 - 2);\n    pcVar24[0] = '\0';\n    pcVar24[1] = '\0';\n    pcVar24[2] = '\0';\n    pcVar24[3] = '\0';\n    uVar9 = uVar9 + 4;\n  }" { (expression_statement "pcVar24 = psVar17->sa_data + (uVar9 - 2);" (assignment_expression "pcVar24 = psVar17->sa_data + (uVar9 - 2)" identifier = (binary_expression "psVar17->sa_data + (uVar9 - 2)" (field_expression "psVar17->sa_data" identifier -> field_identifier) + (parenthesized_expression "(uVar9 - 2)" ( (binary_expression "uVar9 - 2" identifier - number_literal) )))) ;) (expression_statement "pcVar24[0] = '\0';" (assignment_expression "pcVar24[0] = '\0'" (subscript_expression "pcVar24[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar24[1] = '\0';" (assignment_expression "pcVar24[1] = '\0'" (subscript_expression "pcVar24[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar24[2] = '\0';" (assignment_expression "pcVar24[2] = '\0'" (subscript_expression "pcVar24[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar24[3] = '\0';" (assignment_expression "pcVar24[3] = '\0'" (subscript_expression "pcVar24[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar9 = uVar9 + 4;" (assignment_expression "uVar9 = uVar9 + 4" identifier = (binary_expression "uVar9 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar9 < 0x1c)" ( (binary_expression "uVar9 < 0x1c" identifier < number_literal) )) ;) (expression_statement "iVar12 = pMVar23->listen_fd;" (assignment_expression "iVar12 = pMVar23->listen_fd" identifier = (field_expression "pMVar23->listen_fd" identifier -> field_identifier)) ;) (expression_statement "puVar32 = (undefined1 *)((int)puVar11 + -0x6c);" (assignment_expression "puVar32 = (undefined1 *)((int)puVar11 + -0x6c)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x6c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x6c)" ( (binary_expression "(int)puVar11 + -0x6c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((iVar12 == -1) ||\n     (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), pMVar23->was_quiesced != false)) {\nLAB_0001b7c2:\n    if (*(int *)(puVar32 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar32 + -4) = 0x1b867;\n      __stack_chk_fail_local();\n    }\n    return;\n  }" if (parenthesized_expression "((iVar12 == -1) ||\n     (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), pMVar23->was_quiesced != false))" ( (binary_expression "(iVar12 == -1) ||\n     (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), pMVar23->was_quiesced != false)" (parenthesized_expression "(iVar12 == -1)" ( (binary_expression "iVar12 == -1" identifier == number_literal) )) || (parenthesized_expression "(puVar32 = (undefined1 *)((int)puVar11 + -0x6c), pMVar23->was_quiesced != false)" ( (comma_expression "puVar32 = (undefined1 *)((int)puVar11 + -0x6c), pMVar23->was_quiesced != false" (assignment_expression "puVar32 = (undefined1 *)((int)puVar11 + -0x6c)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x6c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x6c)" ( (binary_expression "(int)puVar11 + -0x6c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "pMVar23->was_quiesced != false" (field_expression "pMVar23->was_quiesced" identifier -> field_identifier) != false)) ))) )) (compound_statement "{\nLAB_0001b7c2:\n    if (*(int *)(puVar32 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar32 + -4) = 0x1b867;\n      __stack_chk_fail_local();\n    }\n    return;\n  }" { (labeled_statement "LAB_0001b7c2:\n    if (*(int *)(puVar32 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar32 + -4) = 0x1b867;\n      __stack_chk_fail_local();\n    }" statement_identifier : (if_statement "if (*(int *)(puVar32 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar32 + -4) = 0x1b867;\n      __stack_chk_fail_local();\n    }" if (parenthesized_expression "(*(int *)(puVar32 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar32 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar32 + 0x3c)" * (cast_expression "(int *)(puVar32 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3c)" ( (binary_expression "puVar32 + 0x3c" identifier + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)(puVar32 + -4) = 0x1b867;\n      __stack_chk_fail_local();\n    }" { comment (expression_statement "*(undefined4 *)(puVar32 + -4) = 0x1b867;" (assignment_expression "*(undefined4 *)(puVar32 + -4) = 0x1b867" (pointer_expression "*(undefined4 *)(puVar32 + -4)" * (cast_expression "(undefined4 *)(puVar32 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -4)" ( (binary_expression "puVar32 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })) (expression_statement "*(undefined4 *)((int)puVar11 + -0x70) = 0x80800;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x70) = 0x80800" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x70)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x70)" ( (binary_expression "(int)puVar11 + -0x70" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar11 + -0x74) = (undefined1 *)((int)puVar11 + -0x50);" (assignment_expression "*(undefined1 **)((int)puVar11 + -0x74) = (undefined1 *)((int)puVar11 + -0x50)" (pointer_expression "*(undefined1 **)((int)puVar11 + -0x74)" * (cast_expression "(undefined1 **)((int)puVar11 + -0x74)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x74)" ( (binary_expression "(int)puVar11 + -0x74" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar11 + -0x50)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x50)" ( (binary_expression "(int)puVar11 + -0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(sockaddr **)((int)puVar11 + -0x78) = psVar17;" (assignment_expression "*(sockaddr **)((int)puVar11 + -0x78) = psVar17" (pointer_expression "*(sockaddr **)((int)puVar11 + -0x78)" * (cast_expression "(sockaddr **)((int)puVar11 + -0x78)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x78)" ( (binary_expression "(int)puVar11 + -0x78" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar11 + -0x7c) = iVar12;" (assignment_expression "*(int *)((int)puVar11 + -0x7c) = iVar12" (pointer_expression "*(int *)((int)puVar11 + -0x7c)" * (cast_expression "(int *)((int)puVar11 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x7c)" ( (binary_expression "(int)puVar11 + -0x7c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x80) = 0x1b6c8;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x80) = 0x1b6c8" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x80)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x80)" ( (binary_expression "(int)puVar11 + -0x80" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = accept4(*(int *)((int)puVar11 + -0x7c),*(sockaddr **)((int)puVar11 + -0x78),\n                   *(socklen_t **)((int)puVar11 + -0x74),*(int *)((int)puVar11 + -0x70));" (assignment_expression "iVar12 = accept4(*(int *)((int)puVar11 + -0x7c),*(sockaddr **)((int)puVar11 + -0x78),\n                   *(socklen_t **)((int)puVar11 + -0x74),*(int *)((int)puVar11 + -0x70))" identifier = (call_expression "accept4(*(int *)((int)puVar11 + -0x7c),*(sockaddr **)((int)puVar11 + -0x78),\n                   *(socklen_t **)((int)puVar11 + -0x74),*(int *)((int)puVar11 + -0x70))" identifier (argument_list "(*(int *)((int)puVar11 + -0x7c),*(sockaddr **)((int)puVar11 + -0x78),\n                   *(socklen_t **)((int)puVar11 + -0x74),*(int *)((int)puVar11 + -0x70))" ( (pointer_expression "*(int *)((int)puVar11 + -0x7c)" * (cast_expression "(int *)((int)puVar11 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x7c)" ( (binary_expression "(int)puVar11 + -0x7c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(sockaddr **)((int)puVar11 + -0x78)" * (cast_expression "(sockaddr **)((int)puVar11 + -0x78)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x78)" ( (binary_expression "(int)puVar11 + -0x78" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t **)((int)puVar11 + -0x74)" * (cast_expression "(socklen_t **)((int)puVar11 + -0x74)" ( (type_descriptor "socklen_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x74)" ( (binary_expression "(int)puVar11 + -0x74" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar11 + -0x70)" * (cast_expression "(int *)((int)puVar11 + -0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x70)" ( (binary_expression "(int)puVar11 + -0x70" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar35 = (undefined1 *)((int)puVar11 + -0x6c);" (assignment_expression "puVar35 = (undefined1 *)((int)puVar11 + -0x6c)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x6c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x6c)" ( (binary_expression "(int)puVar11 + -0x6c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((iVar12 != -1) && (*(int *)((int)puVar11 + -0x50) != 0)) {\n    *(undefined4 *)((int)puVar11 + -0x74) = 1;\n    *(undefined4 *)((int)puVar11 + -0x78) = 0;\n    *(int *)((int)puVar11 + -0x7c) = *(int *)((int)puVar11 + -0x50);\n    *(undefined4 *)((int)puVar11 + -0x80) = 0x1b7f3;\n    internal_add_connection\n              (pMVar23,iVar12,psVar17,*(socklen_t *)((int)puVar11 + -0x7c),\n               *(_Bool *)((int)puVar11 + -0x78),*(_Bool *)((int)puVar11 + -0x74));\n    puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n    goto LAB_0001b7c2;\n  }" if (parenthesized_expression "((iVar12 != -1) && (*(int *)((int)puVar11 + -0x50) != 0))" ( (binary_expression "(iVar12 != -1) && (*(int *)((int)puVar11 + -0x50) != 0)" (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) && (parenthesized_expression "(*(int *)((int)puVar11 + -0x50) != 0)" ( (binary_expression "*(int *)((int)puVar11 + -0x50) != 0" (pointer_expression "*(int *)((int)puVar11 + -0x50)" * (cast_expression "(int *)((int)puVar11 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x50)" ( (binary_expression "(int)puVar11 + -0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    *(undefined4 *)((int)puVar11 + -0x74) = 1;\n    *(undefined4 *)((int)puVar11 + -0x78) = 0;\n    *(int *)((int)puVar11 + -0x7c) = *(int *)((int)puVar11 + -0x50);\n    *(undefined4 *)((int)puVar11 + -0x80) = 0x1b7f3;\n    internal_add_connection\n              (pMVar23,iVar12,psVar17,*(socklen_t *)((int)puVar11 + -0x7c),\n               *(_Bool *)((int)puVar11 + -0x78),*(_Bool *)((int)puVar11 + -0x74));\n    puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n    goto LAB_0001b7c2;\n  }" { (expression_statement "*(undefined4 *)((int)puVar11 + -0x74) = 1;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x74) = 1" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x74)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x74)" ( (binary_expression "(int)puVar11 + -0x74" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x78) = 0;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x78) = 0" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x78)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x78)" ( (binary_expression "(int)puVar11 + -0x78" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0x7c) = *(int *)((int)puVar11 + -0x50);" (assignment_expression "*(int *)((int)puVar11 + -0x7c) = *(int *)((int)puVar11 + -0x50)" (pointer_expression "*(int *)((int)puVar11 + -0x7c)" * (cast_expression "(int *)((int)puVar11 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x7c)" ( (binary_expression "(int)puVar11 + -0x7c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar11 + -0x50)" * (cast_expression "(int *)((int)puVar11 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x50)" ( (binary_expression "(int)puVar11 + -0x50" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x80) = 0x1b7f3;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x80) = 0x1b7f3" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x80)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x80)" ( (binary_expression "(int)puVar11 + -0x80" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "internal_add_connection\n              (pMVar23,iVar12,psVar17,*(socklen_t *)((int)puVar11 + -0x7c),\n               *(_Bool *)((int)puVar11 + -0x78),*(_Bool *)((int)puVar11 + -0x74));" (call_expression "internal_add_connection\n              (pMVar23,iVar12,psVar17,*(socklen_t *)((int)puVar11 + -0x7c),\n               *(_Bool *)((int)puVar11 + -0x78),*(_Bool *)((int)puVar11 + -0x74))" identifier (argument_list "(pMVar23,iVar12,psVar17,*(socklen_t *)((int)puVar11 + -0x7c),\n               *(_Bool *)((int)puVar11 + -0x78),*(_Bool *)((int)puVar11 + -0x74))" ( identifier , identifier , identifier , (pointer_expression "*(socklen_t *)((int)puVar11 + -0x7c)" * (cast_expression "(socklen_t *)((int)puVar11 + -0x7c)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x7c)" ( (binary_expression "(int)puVar11 + -0x7c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(_Bool *)((int)puVar11 + -0x78)" * (cast_expression "(_Bool *)((int)puVar11 + -0x78)" ( (type_descriptor "_Bool *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x78)" ( (binary_expression "(int)puVar11 + -0x78" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(_Bool *)((int)puVar11 + -0x74)" * (cast_expression "(_Bool *)((int)puVar11 + -0x74)" ( (type_descriptor "_Bool *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x74)" ( (binary_expression "(int)puVar11 + -0x74" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "puVar32 = (undefined1 *)((int)puVar11 + -0x6c);" (assignment_expression "puVar32 = (undefined1 *)((int)puVar11 + -0x6c)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x6c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x6c)" ( (binary_expression "(int)puVar11 + -0x6c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_0001b7c2;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar11 + -0x70) = 0x1b6e3;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x70) = 0x1b6e3" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x70)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x70)" ( (binary_expression "(int)puVar11 + -0x70" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar25 = *piVar13;" (assignment_expression "iVar25 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "puVar32 = (undefined1 *)((int)puVar11 + -0x6c);" (assignment_expression "puVar32 = (undefined1 *)((int)puVar11 + -0x6c)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x6c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x6c)" ( (binary_expression "(int)puVar11 + -0x6c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((iVar25 == 0x67) || (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), iVar25 == 0x16))\n  goto LAB_0001b7c2;" if (parenthesized_expression "((iVar25 == 0x67) || (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), iVar25 == 0x16))" ( (binary_expression "(iVar25 == 0x67) || (puVar32 = (undefined1 *)((int)puVar11 + -0x6c), iVar25 == 0x16)" (parenthesized_expression "(iVar25 == 0x67)" ( (binary_expression "iVar25 == 0x67" identifier == number_literal) )) || (parenthesized_expression "(puVar32 = (undefined1 *)((int)puVar11 + -0x6c), iVar25 == 0x16)" ( (comma_expression "puVar32 = (undefined1 *)((int)puVar11 + -0x6c), iVar25 == 0x16" (assignment_expression "puVar32 = (undefined1 *)((int)puVar11 + -0x6c)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x6c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x6c)" ( (binary_expression "(int)puVar11 + -0x6c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "iVar25 == 0x16" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0001b7c2;" goto statement_identifier ;)) (expression_statement "*(int **)((int)puVar11 + -0x60) = piVar13;" (assignment_expression "*(int **)((int)puVar11 + -0x60) = piVar13" (pointer_expression "*(int **)((int)puVar11 + -0x60)" * (cast_expression "(int **)((int)puVar11 + -0x60)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x60)" ( (binary_expression "(int)puVar11 + -0x60" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (iVar25 == 0xb) {\n    puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n    if (iVar12 != -1) {\n      *(int *)((int)puVar11 + -0x7c) = iVar12;\n      *(undefined4 *)((int)puVar11 + -0x80) = 0x1b80e;\n      iVar27 = close(*(int *)((int)puVar11 + -0x7c));\n      piVar13 = *(int **)((int)puVar11 + -0x60);\n      puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n      puVar34 = (undefined1 *)((int)puVar11 + -0x6c);\n      if (iVar27 != 0) goto LAB_0001b819;\n    }\n    goto LAB_0001b7c2;\n  }" if (parenthesized_expression "(iVar25 == 0xb)" ( (binary_expression "iVar25 == 0xb" identifier == number_literal) )) (compound_statement "{\n    puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n    if (iVar12 != -1) {\n      *(int *)((int)puVar11 + -0x7c) = iVar12;\n      *(undefined4 *)((int)puVar11 + -0x80) = 0x1b80e;\n      iVar27 = close(*(int *)((int)puVar11 + -0x7c));\n      piVar13 = *(int **)((int)puVar11 + -0x60);\n      puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n      puVar34 = (undefined1 *)((int)puVar11 + -0x6c);\n      if (iVar27 != 0) goto LAB_0001b819;\n    }\n    goto LAB_0001b7c2;\n  }" { (expression_statement "puVar32 = (undefined1 *)((int)puVar11 + -0x6c);" (assignment_expression "puVar32 = (undefined1 *)((int)puVar11 + -0x6c)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x6c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x6c)" ( (binary_expression "(int)puVar11 + -0x6c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar12 != -1) {\n      *(int *)((int)puVar11 + -0x7c) = iVar12;\n      *(undefined4 *)((int)puVar11 + -0x80) = 0x1b80e;\n      iVar27 = close(*(int *)((int)puVar11 + -0x7c));\n      piVar13 = *(int **)((int)puVar11 + -0x60);\n      puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n      puVar34 = (undefined1 *)((int)puVar11 + -0x6c);\n      if (iVar27 != 0) goto LAB_0001b819;\n    }" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (compound_statement "{\n      *(int *)((int)puVar11 + -0x7c) = iVar12;\n      *(undefined4 *)((int)puVar11 + -0x80) = 0x1b80e;\n      iVar27 = close(*(int *)((int)puVar11 + -0x7c));\n      piVar13 = *(int **)((int)puVar11 + -0x60);\n      puVar32 = (undefined1 *)((int)puVar11 + -0x6c);\n      puVar34 = (undefined1 *)((int)puVar11 + -0x6c);\n      if (iVar27 != 0) goto LAB_0001b819;\n    }" { (expression_statement "*(int *)((int)puVar11 + -0x7c) = iVar12;" (assignment_expression "*(int *)((int)puVar11 + -0x7c) = iVar12" (pointer_expression "*(int *)((int)puVar11 + -0x7c)" * (cast_expression "(int *)((int)puVar11 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x7c)" ( (binary_expression "(int)puVar11 + -0x7c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x80) = 0x1b80e;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x80) = 0x1b80e" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x80)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x80)" ( (binary_expression "(int)puVar11 + -0x80" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar27 = close(*(int *)((int)puVar11 + -0x7c));" (assignment_expression "iVar27 = close(*(int *)((int)puVar11 + -0x7c))" identifier = (call_expression "close(*(int *)((int)puVar11 + -0x7c))" identifier (argument_list "(*(int *)((int)puVar11 + -0x7c))" ( (pointer_expression "*(int *)((int)puVar11 + -0x7c)" * (cast_expression "(int *)((int)puVar11 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x7c)" ( (binary_expression "(int)puVar11 + -0x7c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "piVar13 = *(int **)((int)puVar11 + -0x60);" (assignment_expression "piVar13 = *(int **)((int)puVar11 + -0x60)" identifier = (pointer_expression "*(int **)((int)puVar11 + -0x60)" * (cast_expression "(int **)((int)puVar11 + -0x60)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x60)" ( (binary_expression "(int)puVar11 + -0x60" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar32 = (undefined1 *)((int)puVar11 + -0x6c);" (assignment_expression "puVar32 = (undefined1 *)((int)puVar11 + -0x6c)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x6c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x6c)" ( (binary_expression "(int)puVar11 + -0x6c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar34 = (undefined1 *)((int)puVar11 + -0x6c);" (assignment_expression "puVar34 = (undefined1 *)((int)puVar11 + -0x6c)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x6c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x6c)" ( (binary_expression "(int)puVar11 + -0x6c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar27 != 0) goto LAB_0001b819;" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b819;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0001b7c2;" goto statement_identifier ;) })) (expression_statement "*(int *)((int)puVar11 + -0x7c) = iVar25;" (assignment_expression "*(int *)((int)puVar11 + -0x7c) = iVar25" (pointer_expression "*(int *)((int)puVar11 + -0x7c)" * (cast_expression "(int *)((int)puVar11 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x7c)" ( (binary_expression "(int)puVar11 + -0x7c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x80) = 0x1b70d;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x80) = 0x1b70d" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x80)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x80)" ( (binary_expression "(int)puVar11 + -0x80" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar24 = strerror(*(int *)((int)puVar11 + -0x7c));" (assignment_expression "pcVar24 = strerror(*(int *)((int)puVar11 + -0x7c))" identifier = (call_expression "strerror(*(int *)((int)puVar11 + -0x7c))" identifier (argument_list "(*(int *)((int)puVar11 + -0x7c))" ( (pointer_expression "*(int *)((int)puVar11 + -0x7c)" * (cast_expression "(int *)((int)puVar11 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x7c)" ( (binary_expression "(int)puVar11 + -0x7c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar11 + -0x74) = pcVar24;" (assignment_expression "*(char **)((int)puVar11 + -0x74) = pcVar24" (pointer_expression "*(char **)((int)puVar11 + -0x74)" * (cast_expression "(char **)((int)puVar11 + -0x74)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x74)" ( (binary_expression "(int)puVar11 + -0x74" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar11 + -0x78) = iVar29 + 0x10437;" (assignment_expression "*(int *)((int)puVar11 + -0x78) = iVar29 + 0x10437" (pointer_expression "*(int *)((int)puVar11 + -0x78)" * (cast_expression "(int *)((int)puVar11 + -0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x78)" ( (binary_expression "(int)puVar11 + -0x78" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar29 + 0x10437" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar11 + -0x7c) = pMVar23;" (assignment_expression "*(MHD_Daemon **)((int)puVar11 + -0x7c) = pMVar23" (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x7c)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x7c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x7c)" ( (binary_expression "(int)puVar11 + -0x7c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x80) = 0x1b71e;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x80) = 0x1b71e" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x80)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x80)" ( (binary_expression "(int)puVar11 + -0x80" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x7c),*(char **)((int)puVar11 + -0x78));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar11 + -0x7c),*(char **)((int)puVar11 + -0x78))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar11 + -0x7c),*(char **)((int)puVar11 + -0x78))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar11 + -0x7c)" * (cast_expression "(MHD_Daemon **)((int)puVar11 + -0x7c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x7c)" ( (binary_expression "(int)puVar11 + -0x7c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar11 + -0x78)" * (cast_expression "(char **)((int)puVar11 + -0x78)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x78)" ( (binary_expression "(int)puVar11 + -0x78" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "puVar34 = (undefined1 *)((int)puVar11 + -0x6c);" (assignment_expression "puVar34 = (undefined1 *)((int)puVar11 + -0x6c)" identifier = (cast_expression "(undefined1 *)((int)puVar11 + -0x6c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x6c)" ( (binary_expression "(int)puVar11 + -0x6c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar12 != -1) {\n    while( true ) {\n      *(int *)(puVar35 + -0x10) = iVar12;\n      *(undefined4 *)(puVar35 + -0x14) = 0x1b851;\n      iVar27 = close(*(int *)(puVar35 + -0x10));\n      piVar13 = *(int **)(puVar35 + 0xc);\n      puVar34 = puVar35;\n      if (iVar27 == 0) break;\nLAB_0001b819:\n      if (*piVar13 != 9) break;\n      *(int *)(puVar34 + -4) = iVar29 + 0xf9eb;\n      *(undefined4 *)(puVar34 + -8) = 0xc1a;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n      puVar35 = puVar34 + -0x10;\n      *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n      pcVar28 = *(code **)(iVar29 + 0x199ff);\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b841;\n      (*pcVar28)();\n    }\n  }" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (compound_statement "{\n    while( true ) {\n      *(int *)(puVar35 + -0x10) = iVar12;\n      *(undefined4 *)(puVar35 + -0x14) = 0x1b851;\n      iVar27 = close(*(int *)(puVar35 + -0x10));\n      piVar13 = *(int **)(puVar35 + 0xc);\n      puVar34 = puVar35;\n      if (iVar27 == 0) break;\nLAB_0001b819:\n      if (*piVar13 != 9) break;\n      *(int *)(puVar34 + -4) = iVar29 + 0xf9eb;\n      *(undefined4 *)(puVar34 + -8) = 0xc1a;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n      puVar35 = puVar34 + -0x10;\n      *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n      pcVar28 = *(code **)(iVar29 + 0x199ff);\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b841;\n      (*pcVar28)();\n    }\n  }" { (while_statement "while( true ) {\n      *(int *)(puVar35 + -0x10) = iVar12;\n      *(undefined4 *)(puVar35 + -0x14) = 0x1b851;\n      iVar27 = close(*(int *)(puVar35 + -0x10));\n      piVar13 = *(int **)(puVar35 + 0xc);\n      puVar34 = puVar35;\n      if (iVar27 == 0) break;\nLAB_0001b819:\n      if (*piVar13 != 9) break;\n      *(int *)(puVar34 + -4) = iVar29 + 0xf9eb;\n      *(undefined4 *)(puVar34 + -8) = 0xc1a;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n      puVar35 = puVar34 + -0x10;\n      *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n      pcVar28 = *(code **)(iVar29 + 0x199ff);\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b841;\n      (*pcVar28)();\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      *(int *)(puVar35 + -0x10) = iVar12;\n      *(undefined4 *)(puVar35 + -0x14) = 0x1b851;\n      iVar27 = close(*(int *)(puVar35 + -0x10));\n      piVar13 = *(int **)(puVar35 + 0xc);\n      puVar34 = puVar35;\n      if (iVar27 == 0) break;\nLAB_0001b819:\n      if (*piVar13 != 9) break;\n      *(int *)(puVar34 + -4) = iVar29 + 0xf9eb;\n      *(undefined4 *)(puVar34 + -8) = 0xc1a;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n      puVar35 = puVar34 + -0x10;\n      *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n      pcVar28 = *(code **)(iVar29 + 0x199ff);\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b841;\n      (*pcVar28)();\n    }" { (expression_statement "*(int *)(puVar35 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar35 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar35 + -0x14) = 0x1b851;" (assignment_expression "*(undefined4 *)(puVar35 + -0x14) = 0x1b851" (pointer_expression "*(undefined4 *)(puVar35 + -0x14)" * (cast_expression "(undefined4 *)(puVar35 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x14)" ( (binary_expression "puVar35 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar27 = close(*(int *)(puVar35 + -0x10));" (assignment_expression "iVar27 = close(*(int *)(puVar35 + -0x10))" identifier = (call_expression "close(*(int *)(puVar35 + -0x10))" identifier (argument_list "(*(int *)(puVar35 + -0x10))" ( (pointer_expression "*(int *)(puVar35 + -0x10)" * (cast_expression "(int *)(puVar35 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -0x10)" ( (binary_expression "puVar35 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "piVar13 = *(int **)(puVar35 + 0xc);" (assignment_expression "piVar13 = *(int **)(puVar35 + 0xc)" identifier = (pointer_expression "*(int **)(puVar35 + 0xc)" * (cast_expression "(int **)(puVar35 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar35 + 0xc)" ( (binary_expression "puVar35 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "puVar34 = puVar35;" (assignment_expression "puVar34 = puVar35" identifier = identifier) ;) (if_statement "if (iVar27 == 0) break;" if (parenthesized_expression "(iVar27 == 0)" ( (binary_expression "iVar27 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001b819:\n      if (*piVar13 != 9) break;" statement_identifier : (if_statement "if (*piVar13 != 9) break;" if (parenthesized_expression "(*piVar13 != 9)" ( (binary_expression "*piVar13 != 9" (pointer_expression "*piVar13" * identifier) != number_literal) )) (break_statement "break;" break ;))) (expression_statement "*(int *)(puVar34 + -4) = iVar29 + 0xf9eb;" (assignment_expression "*(int *)(puVar34 + -4) = iVar29 + 0xf9eb" (pointer_expression "*(int *)(puVar34 + -4)" * (cast_expression "(int *)(puVar34 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -4)" ( (binary_expression "puVar34 + -4" identifier + number_literal) )))) = (binary_expression "iVar29 + 0xf9eb" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar34 + -8) = 0xc1a;" (assignment_expression "*(undefined4 *)(puVar34 + -8) = 0xc1a" (pointer_expression "*(undefined4 *)(puVar34 + -8)" * (cast_expression "(undefined4 *)(puVar34 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -8)" ( (binary_expression "puVar34 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;" (assignment_expression "*(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7" (pointer_expression "*(int *)(puVar34 + -0xc)" * (cast_expression "(int *)(puVar34 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc)" ( (binary_expression "puVar34 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar29 + 0xf9d7" identifier + number_literal)) ;) (expression_statement "puVar35 = puVar34 + -0x10;" (assignment_expression "puVar35 = puVar34 + -0x10" identifier = (binary_expression "puVar34 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);" (assignment_expression "*(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb)" (pointer_expression "*(undefined4 *)(puVar34 + -0x10)" * (cast_expression "(undefined4 *)(puVar34 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x10)" ( (binary_expression "puVar34 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x199fb)" * (cast_expression "(undefined4 *)(iVar29 + 0x199fb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x199fb)" ( (binary_expression "iVar29 + 0x199fb" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x199ff);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x199ff)" identifier = (pointer_expression "*(code **)(iVar29 + 0x199ff)" * (cast_expression "(code **)(iVar29 + 0x199ff)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x199ff)" ( (binary_expression "iVar29 + 0x199ff" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x14) = 0x1b841;" (assignment_expression "*(undefined4 *)(puVar34 + -0x14) = 0x1b841" (pointer_expression "*(undefined4 *)(puVar34 + -0x14)" * (cast_expression "(undefined4 *)(puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x14)" ( (binary_expression "puVar34 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) })) })) (expression_statement "puVar32 = puVar34;" (assignment_expression "puVar32 = puVar34" identifier = identifier) ;) (if_statement "if ((iVar25 != 0xc && iVar25 != 0x69) && (1 < iVar25 - 0x17U)) goto LAB_0001b7c2;" if (parenthesized_expression "((iVar25 != 0xc && iVar25 != 0x69) && (1 < iVar25 - 0x17U))" ( (binary_expression "(iVar25 != 0xc && iVar25 != 0x69) && (1 < iVar25 - 0x17U)" (parenthesized_expression "(iVar25 != 0xc && iVar25 != 0x69)" ( (binary_expression "iVar25 != 0xc && iVar25 != 0x69" (binary_expression "iVar25 != 0xc" identifier != number_literal) && (binary_expression "iVar25 != 0x69" identifier != number_literal)) )) && (parenthesized_expression "(1 < iVar25 - 0x17U)" ( (binary_expression "1 < iVar25 - 0x17U" number_literal < (binary_expression "iVar25 - 0x17U" identifier - number_literal)) ))) )) (goto_statement "goto LAB_0001b7c2;" goto statement_identifier ;)) (if_statement "if (pMVar23->connections == 0) {\n    *(int *)(puVar34 + -0xc) = iVar29 + 0x10457;\n    *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b7b8;\n    MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));\n    goto LAB_0001b7c2;\n  }" if (parenthesized_expression "(pMVar23->connections == 0)" ( (binary_expression "pMVar23->connections == 0" (field_expression "pMVar23->connections" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    *(int *)(puVar34 + -0xc) = iVar29 + 0x10457;\n    *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b7b8;\n    MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));\n    goto LAB_0001b7c2;\n  }" { (expression_statement "*(int *)(puVar34 + -0xc) = iVar29 + 0x10457;" (assignment_expression "*(int *)(puVar34 + -0xc) = iVar29 + 0x10457" (pointer_expression "*(int *)(puVar34 + -0xc)" * (cast_expression "(int *)(puVar34 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc)" ( (binary_expression "puVar34 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar29 + 0x10457" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;" (assignment_expression "*(MHD_Daemon **)(puVar34 + -0x10) = pMVar23" (pointer_expression "*(MHD_Daemon **)(puVar34 + -0x10)" * (cast_expression "(MHD_Daemon **)(puVar34 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x10)" ( (binary_expression "puVar34 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x14) = 0x1b7b8;" (assignment_expression "*(undefined4 *)(puVar34 + -0x14) = 0x1b7b8" (pointer_expression "*(undefined4 *)(puVar34 + -0x14)" * (cast_expression "(undefined4 *)(puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x14)" ( (binary_expression "puVar34 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)(puVar34 + -0x10)" * (cast_expression "(MHD_Daemon **)(puVar34 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x10)" ( (binary_expression "puVar34 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar34 + -0xc)" * (cast_expression "(char **)(puVar34 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xc)" ( (binary_expression "puVar34 + -0xc" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001b7c2;" goto statement_identifier ;) })) (expression_statement "pMVar1 = &pMVar23->cleanup_connection_mutex;" (assignment_expression "pMVar1 = &pMVar23->cleanup_connection_mutex" identifier = (pointer_expression "&pMVar23->cleanup_connection_mutex" & (field_expression "pMVar23->cleanup_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "*(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1;" (assignment_expression "*(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1" (pointer_expression "*(MHD_mutex_ **)(puVar34 + -0x10)" * (cast_expression "(MHD_mutex_ **)(puVar34 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x10)" ( (binary_expression "puVar34 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x14) = 0x1b75b;" (assignment_expression "*(undefined4 *)(puVar34 + -0x14) = 0x1b75b" (pointer_expression "*(undefined4 *)(puVar34 + -0x14)" * (cast_expression "(undefined4 *)(puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x14)" ( (binary_expression "puVar34 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar25 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar34 + -0x10));" (assignment_expression "iVar25 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar34 + -0x10))" identifier = (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar34 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar34 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar34 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar34 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x10)" ( (binary_expression "puVar34 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar25 == 0) {\n    pMVar23->at_limit = true;\n    *(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1;\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b776;\n    iVar25 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar34 + -0x10));\n    if (iVar25 == 0) {\n      *(undefined4 *)(puVar34 + 0xc) = 0;\n      *(uint *)(puVar34 + -8) = pMVar23->connections;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0x10513;\n      *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b79b;\n      MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));\n      goto LAB_0001b7c2;\n    }\n  }\n  else {\n    *(int *)(puVar34 + -4) = iVar29 + 0xe993;\n    *(undefined4 *)(puVar34 + -8) = 0xc2c;\n    *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n    puVar32 = puVar34 + -0x10;\n    *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n    pcVar28 = *(code **)(iVar29 + 0x199ff);\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b886;\n    (*pcVar28)();\n  }" if (parenthesized_expression "(iVar25 == 0)" ( (binary_expression "iVar25 == 0" identifier == number_literal) )) (compound_statement "{\n    pMVar23->at_limit = true;\n    *(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1;\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b776;\n    iVar25 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar34 + -0x10));\n    if (iVar25 == 0) {\n      *(undefined4 *)(puVar34 + 0xc) = 0;\n      *(uint *)(puVar34 + -8) = pMVar23->connections;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0x10513;\n      *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b79b;\n      MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));\n      goto LAB_0001b7c2;\n    }\n  }" { (expression_statement "pMVar23->at_limit = true;" (assignment_expression "pMVar23->at_limit = true" (field_expression "pMVar23->at_limit" identifier -> field_identifier) = true) ;) (expression_statement "*(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1;" (assignment_expression "*(MHD_mutex_ **)(puVar34 + -0x10) = pMVar1" (pointer_expression "*(MHD_mutex_ **)(puVar34 + -0x10)" * (cast_expression "(MHD_mutex_ **)(puVar34 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x10)" ( (binary_expression "puVar34 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x14) = 0x1b776;" (assignment_expression "*(undefined4 *)(puVar34 + -0x14) = 0x1b776" (pointer_expression "*(undefined4 *)(puVar34 + -0x14)" * (cast_expression "(undefined4 *)(puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x14)" ( (binary_expression "puVar34 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar25 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar34 + -0x10));" (assignment_expression "iVar25 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar34 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar34 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar34 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar34 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar34 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x10)" ( (binary_expression "puVar34 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar25 == 0) {\n      *(undefined4 *)(puVar34 + 0xc) = 0;\n      *(uint *)(puVar34 + -8) = pMVar23->connections;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0x10513;\n      *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b79b;\n      MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));\n      goto LAB_0001b7c2;\n    }" if (parenthesized_expression "(iVar25 == 0)" ( (binary_expression "iVar25 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar34 + 0xc) = 0;\n      *(uint *)(puVar34 + -8) = pMVar23->connections;\n      *(int *)(puVar34 + -0xc) = iVar29 + 0x10513;\n      *(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;\n      *(undefined4 *)(puVar34 + -0x14) = 0x1b79b;\n      MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));\n      goto LAB_0001b7c2;\n    }" { (expression_statement "*(undefined4 *)(puVar34 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar34 + 0xc)" * (cast_expression "(undefined4 *)(puVar34 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0xc)" ( (binary_expression "puVar34 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar34 + -8) = pMVar23->connections;" (assignment_expression "*(uint *)(puVar34 + -8) = pMVar23->connections" (pointer_expression "*(uint *)(puVar34 + -8)" * (cast_expression "(uint *)(puVar34 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -8)" ( (binary_expression "puVar34 + -8" identifier + number_literal) )))) = (field_expression "pMVar23->connections" identifier -> field_identifier)) ;) (expression_statement "*(int *)(puVar34 + -0xc) = iVar29 + 0x10513;" (assignment_expression "*(int *)(puVar34 + -0xc) = iVar29 + 0x10513" (pointer_expression "*(int *)(puVar34 + -0xc)" * (cast_expression "(int *)(puVar34 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc)" ( (binary_expression "puVar34 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar29 + 0x10513" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)(puVar34 + -0x10) = pMVar23;" (assignment_expression "*(MHD_Daemon **)(puVar34 + -0x10) = pMVar23" (pointer_expression "*(MHD_Daemon **)(puVar34 + -0x10)" * (cast_expression "(MHD_Daemon **)(puVar34 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x10)" ( (binary_expression "puVar34 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x14) = 0x1b79b;" (assignment_expression "*(undefined4 *)(puVar34 + -0x14) = 0x1b79b" (pointer_expression "*(undefined4 *)(puVar34 + -0x14)" * (cast_expression "(undefined4 *)(puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x14)" ( (binary_expression "puVar34 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)(puVar34 + -0x10),*(char **)(puVar34 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)(puVar34 + -0x10)" * (cast_expression "(MHD_Daemon **)(puVar34 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0x10)" ( (binary_expression "puVar34 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar34 + -0xc)" * (cast_expression "(char **)(puVar34 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + -0xc)" ( (binary_expression "puVar34 + -0xc" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001b7c2;" goto statement_identifier ;) })) }) (else_clause "else {\n    *(int *)(puVar34 + -4) = iVar29 + 0xe993;\n    *(undefined4 *)(puVar34 + -8) = 0xc2c;\n    *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n    puVar32 = puVar34 + -0x10;\n    *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n    pcVar28 = *(code **)(iVar29 + 0x199ff);\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b886;\n    (*pcVar28)();\n  }" else (compound_statement "{\n    *(int *)(puVar34 + -4) = iVar29 + 0xe993;\n    *(undefined4 *)(puVar34 + -8) = 0xc2c;\n    *(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;\n    puVar32 = puVar34 + -0x10;\n    *(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);\n    pcVar28 = *(code **)(iVar29 + 0x199ff);\n    *(undefined4 *)(puVar34 + -0x14) = 0x1b886;\n    (*pcVar28)();\n  }" { (expression_statement "*(int *)(puVar34 + -4) = iVar29 + 0xe993;" (assignment_expression "*(int *)(puVar34 + -4) = iVar29 + 0xe993" (pointer_expression "*(int *)(puVar34 + -4)" * (cast_expression "(int *)(puVar34 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -4)" ( (binary_expression "puVar34 + -4" identifier + number_literal) )))) = (binary_expression "iVar29 + 0xe993" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar34 + -8) = 0xc2c;" (assignment_expression "*(undefined4 *)(puVar34 + -8) = 0xc2c" (pointer_expression "*(undefined4 *)(puVar34 + -8)" * (cast_expression "(undefined4 *)(puVar34 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -8)" ( (binary_expression "puVar34 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7;" (assignment_expression "*(int *)(puVar34 + -0xc) = iVar29 + 0xf9d7" (pointer_expression "*(int *)(puVar34 + -0xc)" * (cast_expression "(int *)(puVar34 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0xc)" ( (binary_expression "puVar34 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar29 + 0xf9d7" identifier + number_literal)) ;) (expression_statement "puVar32 = puVar34 + -0x10;" (assignment_expression "puVar32 = puVar34 + -0x10" identifier = (binary_expression "puVar34 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);" (assignment_expression "*(undefined4 *)(puVar34 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb)" (pointer_expression "*(undefined4 *)(puVar34 + -0x10)" * (cast_expression "(undefined4 *)(puVar34 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x10)" ( (binary_expression "puVar34 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x199fb)" * (cast_expression "(undefined4 *)(iVar29 + 0x199fb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x199fb)" ( (binary_expression "iVar29 + 0x199fb" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x199ff);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x199ff)" identifier = (pointer_expression "*(code **)(iVar29 + 0x199ff)" * (cast_expression "(code **)(iVar29 + 0x199ff)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x199ff)" ( (binary_expression "iVar29 + 0x199ff" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x14) = 0x1b886;" (assignment_expression "*(undefined4 *)(puVar34 + -0x14) = 0x1b886" (pointer_expression "*(undefined4 *)(puVar34 + -0x14)" * (cast_expression "(undefined4 *)(puVar34 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x14)" ( (binary_expression "puVar34 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar28)();" (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( ))) ;) }))) (expression_statement "*(int *)(puVar32 + -4) = iVar29 + 0xe9b7;" (assignment_expression "*(int *)(puVar32 + -4) = iVar29 + 0xe9b7" (pointer_expression "*(int *)(puVar32 + -4)" * (cast_expression "(int *)(puVar32 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -4)" ( (binary_expression "puVar32 + -4" identifier + number_literal) )))) = (binary_expression "iVar29 + 0xe9b7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar32 + -8) = 0xc30;" (assignment_expression "*(undefined4 *)(puVar32 + -8) = 0xc30" (pointer_expression "*(undefined4 *)(puVar32 + -8)" * (cast_expression "(undefined4 *)(puVar32 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -8)" ( (binary_expression "puVar32 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar32 + -0xc) = iVar29 + 0xf9d7;" (assignment_expression "*(int *)(puVar32 + -0xc) = iVar29 + 0xf9d7" (pointer_expression "*(int *)(puVar32 + -0xc)" * (cast_expression "(int *)(puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0xc)" ( (binary_expression "puVar32 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar29 + 0xf9d7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb);" (assignment_expression "*(undefined4 *)(puVar32 + -0x10) = *(undefined4 *)(iVar29 + 0x199fb)" (pointer_expression "*(undefined4 *)(puVar32 + -0x10)" * (cast_expression "(undefined4 *)(puVar32 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x10)" ( (binary_expression "puVar32 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar29 + 0x199fb)" * (cast_expression "(undefined4 *)(iVar29 + 0x199fb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar29 + 0x199fb)" ( (binary_expression "iVar29 + 0x199fb" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = *(code **)(iVar29 + 0x199ff);" (assignment_expression "pcVar28 = *(code **)(iVar29 + 0x199ff)" identifier = (pointer_expression "*(code **)(iVar29 + 0x199ff)" * (cast_expression "(code **)(iVar29 + 0x199ff)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar29 + 0x199ff)" ( (binary_expression "iVar29 + 0x199ff" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x14) = 0x1b8a5;" (assignment_expression "*(undefined4 *)(puVar32 + -0x14) = 0x1b8a5" (pointer_expression "*(undefined4 *)(puVar32 + -0x14)" * (cast_expression "(undefined4 *)(puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x14)" ( (binary_expression "puVar32 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar36 = (*pcVar28)();" (assignment_expression "uVar36 = (*pcVar28)()" identifier = (call_expression "(*pcVar28)()" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "pMVar14 = (MHD_Daemon *)uVar36;" (assignment_expression "pMVar14 = (MHD_Daemon *)uVar36" identifier = (cast_expression "(MHD_Daemon *)uVar36" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(int *)(puVar32 + -0x14) = iVar12;" (assignment_expression "*(int *)(puVar32 + -0x14) = iVar12" (pointer_expression "*(int *)(puVar32 + -0x14)" * (cast_expression "(int *)(puVar32 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x14)" ( (binary_expression "puVar32 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(MHD_mutex_ **)(puVar32 + -0x18) = pMVar1;" (assignment_expression "*(MHD_mutex_ **)(puVar32 + -0x18) = pMVar1" (pointer_expression "*(MHD_mutex_ **)(puVar32 + -0x18)" * (cast_expression "(MHD_mutex_ **)(puVar32 + -0x18)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + -0x18)" ( (binary_expression "puVar32 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(MHD_Daemon **)(puVar32 + -0x1c) = pMVar23;" (assignment_expression "*(MHD_Daemon **)(puVar32 + -0x1c) = pMVar23" (pointer_expression "*(MHD_Daemon **)(puVar32 + -0x1c)" * (cast_expression "(MHD_Daemon **)(puVar32 + -0x1c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + -0x1c)" ( (binary_expression "puVar32 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar32 + -0x20) = iVar29 + 0x19773;" (assignment_expression "*(int *)(puVar32 + -0x20) = iVar29 + 0x19773" (pointer_expression "*(int *)(puVar32 + -0x20)" * (cast_expression "(int *)(puVar32 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x20)" ( (binary_expression "puVar32 + -0x20" identifier + number_literal) )))) = (binary_expression "iVar29 + 0x19773" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x24) = 0x1b8bb;" (assignment_expression "*(undefined4 *)(puVar32 + -0x24) = 0x1b8bb" (pointer_expression "*(undefined4 *)(puVar32 + -0x24)" * (cast_expression "(undefined4 *)(puVar32 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x24)" ( (binary_expression "puVar32 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = *(int *)(puVar32 + -0x24);" (assignment_expression "iVar12 = *(int *)(puVar32 + -0x24)" identifier = (pointer_expression "*(int *)(puVar32 + -0x24)" * (cast_expression "(int *)(puVar32 + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x24)" ( (binary_expression "puVar32 + -0x24" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = pMVar14->listen_fd;" (assignment_expression "iVar29 = pMVar14->listen_fd" identifier = (field_expression "pMVar14->listen_fd" identifier -> field_identifier)) ;) (expression_statement "*(int *)(puVar32 + -0x54) = (int)((ulonglong)uVar36 >> 0x20);" (assignment_expression "*(int *)(puVar32 + -0x54) = (int)((ulonglong)uVar36 >> 0x20)" (pointer_expression "*(int *)(puVar32 + -0x54)" * (cast_expression "(int *)(puVar32 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x54)" ( (binary_expression "puVar32 + -0x54" identifier + number_literal) )))) = (cast_expression "(int)((ulonglong)uVar36 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar36 >> 0x20)" ( (binary_expression "(ulonglong)uVar36 >> 0x20" (cast_expression "(ulonglong)uVar36" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar32 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar32 + -0x30)" * (cast_expression "(undefined4 *)(puVar32 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x30)" ( (binary_expression "puVar32 + -0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x40) = 0;" (assignment_expression "*(undefined4 *)(puVar32 + -0x40) = 0" (pointer_expression "*(undefined4 *)(puVar32 + -0x40)" * (cast_expression "(undefined4 *)(puVar32 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x40)" ( (binary_expression "puVar32 + -0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x3c) = 0;" (assignment_expression "*(undefined4 *)(puVar32 + -0x3c) = 0" (pointer_expression "*(undefined4 *)(puVar32 + -0x3c)" * (cast_expression "(undefined4 *)(puVar32 + -0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x3c)" ( (binary_expression "puVar32 + -0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar32 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar32 + -0x38)" * (cast_expression "(undefined4 *)(puVar32 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x38)" ( (binary_expression "puVar32 + -0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar32 + -0x34) = 0" (pointer_expression "*(undefined4 *)(puVar32 + -0x34)" * (cast_expression "(undefined4 *)(puVar32 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x34)" ( (binary_expression "puVar32 + -0x34" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar29 == -1) {\n    iVar27 = 1;\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar29 = 0;\n    iVar25 = -1;\n  }\n  else if (pMVar14->was_quiesced == false) {\n    *(int *)(puVar32 + -0x40) = iVar29;\n    iVar25 = 0;\n    iVar27 = 2;\n    *(undefined2 *)(puVar32 + -0x3c) = 1;\n    iVar29 = 1;\n    *(undefined4 *)(puVar32 + -0x58) = 1;\n  }\n  else {\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar27 = 1;\n    iVar25 = -1;\n    iVar29 = 0;\n  }" if (parenthesized_expression "(iVar29 == -1)" ( (binary_expression "iVar29 == -1" identifier == number_literal) )) (compound_statement "{\n    iVar27 = 1;\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar29 = 0;\n    iVar25 = -1;\n  }" { (expression_statement "iVar27 = 1;" (assignment_expression "iVar27 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x58) = 0;" (assignment_expression "*(undefined4 *)(puVar32 + -0x58) = 0" (pointer_expression "*(undefined4 *)(puVar32 + -0x58)" * (cast_expression "(undefined4 *)(puVar32 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x58)" ( (binary_expression "puVar32 + -0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" identifier = number_literal) ;) }) (else_clause "else if (pMVar14->was_quiesced == false) {\n    *(int *)(puVar32 + -0x40) = iVar29;\n    iVar25 = 0;\n    iVar27 = 2;\n    *(undefined2 *)(puVar32 + -0x3c) = 1;\n    iVar29 = 1;\n    *(undefined4 *)(puVar32 + -0x58) = 1;\n  }\n  else {\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar27 = 1;\n    iVar25 = -1;\n    iVar29 = 0;\n  }" else (if_statement "if (pMVar14->was_quiesced == false) {\n    *(int *)(puVar32 + -0x40) = iVar29;\n    iVar25 = 0;\n    iVar27 = 2;\n    *(undefined2 *)(puVar32 + -0x3c) = 1;\n    iVar29 = 1;\n    *(undefined4 *)(puVar32 + -0x58) = 1;\n  }\n  else {\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar27 = 1;\n    iVar25 = -1;\n    iVar29 = 0;\n  }" if (parenthesized_expression "(pMVar14->was_quiesced == false)" ( (binary_expression "pMVar14->was_quiesced == false" (field_expression "pMVar14->was_quiesced" identifier -> field_identifier) == false) )) (compound_statement "{\n    *(int *)(puVar32 + -0x40) = iVar29;\n    iVar25 = 0;\n    iVar27 = 2;\n    *(undefined2 *)(puVar32 + -0x3c) = 1;\n    iVar29 = 1;\n    *(undefined4 *)(puVar32 + -0x58) = 1;\n  }" { (expression_statement "*(int *)(puVar32 + -0x40) = iVar29;" (assignment_expression "*(int *)(puVar32 + -0x40) = iVar29" (pointer_expression "*(int *)(puVar32 + -0x40)" * (cast_expression "(int *)(puVar32 + -0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x40)" ( (binary_expression "puVar32 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) (expression_statement "iVar27 = 2;" (assignment_expression "iVar27 = 2" identifier = number_literal) ;) (expression_statement "*(undefined2 *)(puVar32 + -0x3c) = 1;" (assignment_expression "*(undefined2 *)(puVar32 + -0x3c) = 1" (pointer_expression "*(undefined2 *)(puVar32 + -0x3c)" * (cast_expression "(undefined2 *)(puVar32 + -0x3c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x3c)" ( (binary_expression "puVar32 + -0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar29 = 1;" (assignment_expression "iVar29 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x58) = 1;" (assignment_expression "*(undefined4 *)(puVar32 + -0x58) = 1" (pointer_expression "*(undefined4 *)(puVar32 + -0x58)" * (cast_expression "(undefined4 *)(puVar32 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x58)" ( (binary_expression "puVar32 + -0x58" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar27 = 1;\n    iVar25 = -1;\n    iVar29 = 0;\n  }" else (compound_statement "{\n    *(undefined4 *)(puVar32 + -0x58) = 0;\n    iVar27 = 1;\n    iVar25 = -1;\n    iVar29 = 0;\n  }" { (expression_statement "*(undefined4 *)(puVar32 + -0x58) = 0;" (assignment_expression "*(undefined4 *)(puVar32 + -0x58) = 0" (pointer_expression "*(undefined4 *)(puVar32 + -0x58)" * (cast_expression "(undefined4 *)(puVar32 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x58)" ( (binary_expression "puVar32 + -0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar27 = 1;" (assignment_expression "iVar27 = 1" identifier = number_literal) ;) (expression_statement "iVar25 = -1;" (assignment_expression "iVar25 = -1" identifier = number_literal) ;) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) }))))) (expression_statement "iVar8 = (pMVar14->itc).fd;" (assignment_expression "iVar8 = (pMVar14->itc).fd" identifier = (field_expression "(pMVar14->itc).fd" (parenthesized_expression "(pMVar14->itc)" ( (field_expression "pMVar14->itc" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "MVar26 = pMVar14->options & 0x2000;" (assignment_expression "MVar26 = pMVar14->options & 0x2000" identifier = (binary_expression "pMVar14->options & 0x2000" (field_expression "pMVar14->options" identifier -> field_identifier) & number_literal)) ;) (if_statement "if (iVar8 == -1) {\n    iVar27 = -1;\n    if (MVar26 != MHD_NO_FLAG) {\n      *(undefined4 *)(puVar32 + -0x58) = 0xffffffff;\n      goto LAB_0001ba92;\n    }\nLAB_0001ba1c:\n    if (iVar29 == 0) goto LAB_0001b9ad;\n    *(undefined4 *)(puVar32 + -0x60) = 0x10;\n    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);\n    *(int *)(puVar32 + -0x68) = iVar29;\n    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba34;\n    iVar29 = __poll_chk();\n    if (-1 < iVar29) {\n      if (iVar27 != -1) {\n        *(int *)(puVar32 + -0x58) = iVar27;\n        goto LAB_0001b975;\n      }\n      goto LAB_0001b984;\n    }\n  }\n  else {\n    *(int *)(puVar32 + iVar29 * 8 + -0x40) = iVar8;\n    *(undefined2 *)(puVar32 + iVar29 * 8 + -0x3c) = 1;\n    iVar29 = iVar27;\n    if (MVar26 != MHD_NO_FLAG) {\nLAB_0001ba92:\n      *(int *)(puVar32 + -0x50) = iVar29;\n      *(undefined4 *)(puVar32 + -0x60) = 0x1ba9d;\n      resume_suspended_connections(pMVar14);\n      iVar29 = *(int *)(puVar32 + -0x50);\n      iVar27 = *(int *)(puVar32 + -0x58);\n      goto LAB_0001ba1c;\n    }\n    *(undefined4 *)(puVar32 + -0x60) = 0x10;\n    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);\n    *(int *)(puVar32 + -0x68) = iVar27;\n    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1b96a;\n    iVar29 = __poll_chk();\n    if (-1 < iVar29) {\nLAB_0001b975:\n      if ((puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0) {\n        *(undefined4 *)(puVar32 + -100) = 8;\n        *(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;\n        *(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;\n        *(undefined4 *)(puVar32 + -0x70) = 0x1bac5;\n        read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));\n      }\nLAB_0001b984:\n      if (((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0)) {\n        *(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;\n        MHD_accept_connection(pMVar14);\n      }\n      goto LAB_0001b9ad;\n    }\n  }" if (parenthesized_expression "(iVar8 == -1)" ( (binary_expression "iVar8 == -1" identifier == number_literal) )) (compound_statement "{\n    iVar27 = -1;\n    if (MVar26 != MHD_NO_FLAG) {\n      *(undefined4 *)(puVar32 + -0x58) = 0xffffffff;\n      goto LAB_0001ba92;\n    }\nLAB_0001ba1c:\n    if (iVar29 == 0) goto LAB_0001b9ad;\n    *(undefined4 *)(puVar32 + -0x60) = 0x10;\n    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);\n    *(int *)(puVar32 + -0x68) = iVar29;\n    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba34;\n    iVar29 = __poll_chk();\n    if (-1 < iVar29) {\n      if (iVar27 != -1) {\n        *(int *)(puVar32 + -0x58) = iVar27;\n        goto LAB_0001b975;\n      }\n      goto LAB_0001b984;\n    }\n  }" { (expression_statement "iVar27 = -1;" (assignment_expression "iVar27 = -1" identifier = number_literal) ;) (if_statement "if (MVar26 != MHD_NO_FLAG) {\n      *(undefined4 *)(puVar32 + -0x58) = 0xffffffff;\n      goto LAB_0001ba92;\n    }" if (parenthesized_expression "(MVar26 != MHD_NO_FLAG)" ( (binary_expression "MVar26 != MHD_NO_FLAG" identifier != identifier) )) (compound_statement "{\n      *(undefined4 *)(puVar32 + -0x58) = 0xffffffff;\n      goto LAB_0001ba92;\n    }" { (expression_statement "*(undefined4 *)(puVar32 + -0x58) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar32 + -0x58) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar32 + -0x58)" * (cast_expression "(undefined4 *)(puVar32 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x58)" ( (binary_expression "puVar32 + -0x58" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001ba92;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ba1c:\n    if (iVar29 == 0) goto LAB_0001b9ad;" statement_identifier : (if_statement "if (iVar29 == 0) goto LAB_0001b9ad;" if (parenthesized_expression "(iVar29 == 0)" ( (binary_expression "iVar29 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001b9ad;" goto statement_identifier ;))) (expression_statement "*(undefined4 *)(puVar32 + -0x60) = 0x10;" (assignment_expression "*(undefined4 *)(puVar32 + -0x60) = 0x10" (pointer_expression "*(undefined4 *)(puVar32 + -0x60)" * (cast_expression "(undefined4 *)(puVar32 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x60)" ( (binary_expression "puVar32 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);" (assignment_expression "*(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54)" (pointer_expression "*(int *)(puVar32 + -100)" * (cast_expression "(int *)(puVar32 + -100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -100)" ( (binary_expression "puVar32 + -100" identifier + number_literal) )))) = (unary_expression "-*(int *)(puVar32 + -0x54)" - (pointer_expression "*(int *)(puVar32 + -0x54)" * (cast_expression "(int *)(puVar32 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x54)" ( (binary_expression "puVar32 + -0x54" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(puVar32 + -0x68) = iVar29;" (assignment_expression "*(int *)(puVar32 + -0x68) = iVar29" (pointer_expression "*(int *)(puVar32 + -0x68)" * (cast_expression "(int *)(puVar32 + -0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x68)" ( (binary_expression "puVar32 + -0x68" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;" (assignment_expression "*(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40" (pointer_expression "*(undefined1 **)(puVar32 + -0x6c)" * (cast_expression "(undefined1 **)(puVar32 + -0x6c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + -0x6c)" ( (binary_expression "puVar32 + -0x6c" identifier + number_literal) )))) = (binary_expression "puVar32 + -0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x70) = 0x1ba34;" (assignment_expression "*(undefined4 *)(puVar32 + -0x70) = 0x1ba34" (pointer_expression "*(undefined4 *)(puVar32 + -0x70)" * (cast_expression "(undefined4 *)(puVar32 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x70)" ( (binary_expression "puVar32 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar29 = __poll_chk();" (assignment_expression "iVar29 = __poll_chk()" identifier = (call_expression "__poll_chk()" identifier (argument_list "()" ( )))) ;) (if_statement "if (-1 < iVar29) {\n      if (iVar27 != -1) {\n        *(int *)(puVar32 + -0x58) = iVar27;\n        goto LAB_0001b975;\n      }\n      goto LAB_0001b984;\n    }" if (parenthesized_expression "(-1 < iVar29)" ( (binary_expression "-1 < iVar29" number_literal < identifier) )) (compound_statement "{\n      if (iVar27 != -1) {\n        *(int *)(puVar32 + -0x58) = iVar27;\n        goto LAB_0001b975;\n      }\n      goto LAB_0001b984;\n    }" { (if_statement "if (iVar27 != -1) {\n        *(int *)(puVar32 + -0x58) = iVar27;\n        goto LAB_0001b975;\n      }" if (parenthesized_expression "(iVar27 != -1)" ( (binary_expression "iVar27 != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(puVar32 + -0x58) = iVar27;\n        goto LAB_0001b975;\n      }" { (expression_statement "*(int *)(puVar32 + -0x58) = iVar27;" (assignment_expression "*(int *)(puVar32 + -0x58) = iVar27" (pointer_expression "*(int *)(puVar32 + -0x58)" * (cast_expression "(int *)(puVar32 + -0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x58)" ( (binary_expression "puVar32 + -0x58" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0001b975;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001b984;" goto statement_identifier ;) })) }) (else_clause "else {\n    *(int *)(puVar32 + iVar29 * 8 + -0x40) = iVar8;\n    *(undefined2 *)(puVar32 + iVar29 * 8 + -0x3c) = 1;\n    iVar29 = iVar27;\n    if (MVar26 != MHD_NO_FLAG) {\nLAB_0001ba92:\n      *(int *)(puVar32 + -0x50) = iVar29;\n      *(undefined4 *)(puVar32 + -0x60) = 0x1ba9d;\n      resume_suspended_connections(pMVar14);\n      iVar29 = *(int *)(puVar32 + -0x50);\n      iVar27 = *(int *)(puVar32 + -0x58);\n      goto LAB_0001ba1c;\n    }\n    *(undefined4 *)(puVar32 + -0x60) = 0x10;\n    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);\n    *(int *)(puVar32 + -0x68) = iVar27;\n    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1b96a;\n    iVar29 = __poll_chk();\n    if (-1 < iVar29) {\nLAB_0001b975:\n      if ((puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0) {\n        *(undefined4 *)(puVar32 + -100) = 8;\n        *(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;\n        *(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;\n        *(undefined4 *)(puVar32 + -0x70) = 0x1bac5;\n        read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));\n      }\nLAB_0001b984:\n      if (((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0)) {\n        *(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;\n        MHD_accept_connection(pMVar14);\n      }\n      goto LAB_0001b9ad;\n    }\n  }" else (compound_statement "{\n    *(int *)(puVar32 + iVar29 * 8 + -0x40) = iVar8;\n    *(undefined2 *)(puVar32 + iVar29 * 8 + -0x3c) = 1;\n    iVar29 = iVar27;\n    if (MVar26 != MHD_NO_FLAG) {\nLAB_0001ba92:\n      *(int *)(puVar32 + -0x50) = iVar29;\n      *(undefined4 *)(puVar32 + -0x60) = 0x1ba9d;\n      resume_suspended_connections(pMVar14);\n      iVar29 = *(int *)(puVar32 + -0x50);\n      iVar27 = *(int *)(puVar32 + -0x58);\n      goto LAB_0001ba1c;\n    }\n    *(undefined4 *)(puVar32 + -0x60) = 0x10;\n    *(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);\n    *(int *)(puVar32 + -0x68) = iVar27;\n    *(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1b96a;\n    iVar29 = __poll_chk();\n    if (-1 < iVar29) {\nLAB_0001b975:\n      if ((puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0) {\n        *(undefined4 *)(puVar32 + -100) = 8;\n        *(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;\n        *(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;\n        *(undefined4 *)(puVar32 + -0x70) = 0x1bac5;\n        read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));\n      }\nLAB_0001b984:\n      if (((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0)) {\n        *(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;\n        MHD_accept_connection(pMVar14);\n      }\n      goto LAB_0001b9ad;\n    }\n  }" { (expression_statement "*(int *)(puVar32 + iVar29 * 8 + -0x40) = iVar8;" (assignment_expression "*(int *)(puVar32 + iVar29 * 8 + -0x40) = iVar8" (pointer_expression "*(int *)(puVar32 + iVar29 * 8 + -0x40)" * (cast_expression "(int *)(puVar32 + iVar29 * 8 + -0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar29 * 8 + -0x40)" ( (binary_expression "puVar32 + iVar29 * 8 + -0x40" (binary_expression "puVar32 + iVar29 * 8" identifier + (binary_expression "iVar29 * 8" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined2 *)(puVar32 + iVar29 * 8 + -0x3c) = 1;" (assignment_expression "*(undefined2 *)(puVar32 + iVar29 * 8 + -0x3c) = 1" (pointer_expression "*(undefined2 *)(puVar32 + iVar29 * 8 + -0x3c)" * (cast_expression "(undefined2 *)(puVar32 + iVar29 * 8 + -0x3c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar29 * 8 + -0x3c)" ( (binary_expression "puVar32 + iVar29 * 8 + -0x3c" (binary_expression "puVar32 + iVar29 * 8" identifier + (binary_expression "iVar29 * 8" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "iVar29 = iVar27;" (assignment_expression "iVar29 = iVar27" identifier = identifier) ;) (if_statement "if (MVar26 != MHD_NO_FLAG) {\nLAB_0001ba92:\n      *(int *)(puVar32 + -0x50) = iVar29;\n      *(undefined4 *)(puVar32 + -0x60) = 0x1ba9d;\n      resume_suspended_connections(pMVar14);\n      iVar29 = *(int *)(puVar32 + -0x50);\n      iVar27 = *(int *)(puVar32 + -0x58);\n      goto LAB_0001ba1c;\n    }" if (parenthesized_expression "(MVar26 != MHD_NO_FLAG)" ( (binary_expression "MVar26 != MHD_NO_FLAG" identifier != identifier) )) (compound_statement "{\nLAB_0001ba92:\n      *(int *)(puVar32 + -0x50) = iVar29;\n      *(undefined4 *)(puVar32 + -0x60) = 0x1ba9d;\n      resume_suspended_connections(pMVar14);\n      iVar29 = *(int *)(puVar32 + -0x50);\n      iVar27 = *(int *)(puVar32 + -0x58);\n      goto LAB_0001ba1c;\n    }" { (labeled_statement "LAB_0001ba92:\n      *(int *)(puVar32 + -0x50) = iVar29;" statement_identifier : (expression_statement "*(int *)(puVar32 + -0x50) = iVar29;" (assignment_expression "*(int *)(puVar32 + -0x50) = iVar29" (pointer_expression "*(int *)(puVar32 + -0x50)" * (cast_expression "(int *)(puVar32 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x50)" ( (binary_expression "puVar32 + -0x50" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar32 + -0x60) = 0x1ba9d;" (assignment_expression "*(undefined4 *)(puVar32 + -0x60) = 0x1ba9d" (pointer_expression "*(undefined4 *)(puVar32 + -0x60)" * (cast_expression "(undefined4 *)(puVar32 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x60)" ( (binary_expression "puVar32 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "resume_suspended_connections(pMVar14);" (call_expression "resume_suspended_connections(pMVar14)" identifier (argument_list "(pMVar14)" ( identifier ))) ;) (expression_statement "iVar29 = *(int *)(puVar32 + -0x50);" (assignment_expression "iVar29 = *(int *)(puVar32 + -0x50)" identifier = (pointer_expression "*(int *)(puVar32 + -0x50)" * (cast_expression "(int *)(puVar32 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x50)" ( (binary_expression "puVar32 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "iVar27 = *(int *)(puVar32 + -0x58);" (assignment_expression "iVar27 = *(int *)(puVar32 + -0x58)" identifier = (pointer_expression "*(int *)(puVar32 + -0x58)" * (cast_expression "(int *)(puVar32 + -0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x58)" ( (binary_expression "puVar32 + -0x58" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001ba1c;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar32 + -0x60) = 0x10;" (assignment_expression "*(undefined4 *)(puVar32 + -0x60) = 0x10" (pointer_expression "*(undefined4 *)(puVar32 + -0x60)" * (cast_expression "(undefined4 *)(puVar32 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x60)" ( (binary_expression "puVar32 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54);" (assignment_expression "*(int *)(puVar32 + -100) = -*(int *)(puVar32 + -0x54)" (pointer_expression "*(int *)(puVar32 + -100)" * (cast_expression "(int *)(puVar32 + -100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -100)" ( (binary_expression "puVar32 + -100" identifier + number_literal) )))) = (unary_expression "-*(int *)(puVar32 + -0x54)" - (pointer_expression "*(int *)(puVar32 + -0x54)" * (cast_expression "(int *)(puVar32 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x54)" ( (binary_expression "puVar32 + -0x54" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(puVar32 + -0x68) = iVar27;" (assignment_expression "*(int *)(puVar32 + -0x68) = iVar27" (pointer_expression "*(int *)(puVar32 + -0x68)" * (cast_expression "(int *)(puVar32 + -0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x68)" ( (binary_expression "puVar32 + -0x68" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40;" (assignment_expression "*(undefined1 **)(puVar32 + -0x6c) = puVar32 + -0x40" (pointer_expression "*(undefined1 **)(puVar32 + -0x6c)" * (cast_expression "(undefined1 **)(puVar32 + -0x6c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + -0x6c)" ( (binary_expression "puVar32 + -0x6c" identifier + number_literal) )))) = (binary_expression "puVar32 + -0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x70) = 0x1b96a;" (assignment_expression "*(undefined4 *)(puVar32 + -0x70) = 0x1b96a" (pointer_expression "*(undefined4 *)(puVar32 + -0x70)" * (cast_expression "(undefined4 *)(puVar32 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x70)" ( (binary_expression "puVar32 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar29 = __poll_chk();" (assignment_expression "iVar29 = __poll_chk()" identifier = (call_expression "__poll_chk()" identifier (argument_list "()" ( )))) ;) (if_statement "if (-1 < iVar29) {\nLAB_0001b975:\n      if ((puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0) {\n        *(undefined4 *)(puVar32 + -100) = 8;\n        *(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;\n        *(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;\n        *(undefined4 *)(puVar32 + -0x70) = 0x1bac5;\n        read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));\n      }\nLAB_0001b984:\n      if (((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0)) {\n        *(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;\n        MHD_accept_connection(pMVar14);\n      }\n      goto LAB_0001b9ad;\n    }" if (parenthesized_expression "(-1 < iVar29)" ( (binary_expression "-1 < iVar29" number_literal < identifier) )) (compound_statement "{\nLAB_0001b975:\n      if ((puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0) {\n        *(undefined4 *)(puVar32 + -100) = 8;\n        *(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;\n        *(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;\n        *(undefined4 *)(puVar32 + -0x70) = 0x1bac5;\n        read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));\n      }\nLAB_0001b984:\n      if (((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0)) {\n        *(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;\n        MHD_accept_connection(pMVar14);\n      }\n      goto LAB_0001b9ad;\n    }" { (labeled_statement "LAB_0001b975:\n      if ((puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0) {\n        *(undefined4 *)(puVar32 + -100) = 8;\n        *(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;\n        *(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;\n        *(undefined4 *)(puVar32 + -0x70) = 0x1bac5;\n        read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));\n      }" statement_identifier : (if_statement "if ((puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0) {\n        *(undefined4 *)(puVar32 + -100) = 8;\n        *(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;\n        *(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;\n        *(undefined4 *)(puVar32 + -0x70) = 0x1bac5;\n        read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));\n      }" if (parenthesized_expression "((puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0)" ( (binary_expression "(puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1) != 0" (parenthesized_expression "(puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1)" ( (binary_expression "puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a] & 1" (subscript_expression "puVar32[*(int *)(puVar32 + -0x58) * 8 + -0x3a]" identifier [ (binary_expression "*(int *)(puVar32 + -0x58) * 8 + -0x3a" (binary_expression "*(int *)(puVar32 + -0x58) * 8" (pointer_expression "*(int *)(puVar32 + -0x58)" * (cast_expression "(int *)(puVar32 + -0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x58)" ( (binary_expression "puVar32 + -0x58" identifier + number_literal) )))) * number_literal) + number_literal) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar32 + -100) = 8;\n        *(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;\n        *(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;\n        *(undefined4 *)(puVar32 + -0x70) = 0x1bac5;\n        read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));\n      }" { (expression_statement "*(undefined4 *)(puVar32 + -100) = 8;" (assignment_expression "*(undefined4 *)(puVar32 + -100) = 8" (pointer_expression "*(undefined4 *)(puVar32 + -100)" * (cast_expression "(undefined4 *)(puVar32 + -100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -100)" ( (binary_expression "puVar32 + -100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c;" (assignment_expression "*(undefined1 **)(puVar32 + -0x68) = puVar32 + -0x4c" (pointer_expression "*(undefined1 **)(puVar32 + -0x68)" * (cast_expression "(undefined1 **)(puVar32 + -0x68)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + -0x68)" ( (binary_expression "puVar32 + -0x68" identifier + number_literal) )))) = (binary_expression "puVar32 + -0x4c" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd;" (assignment_expression "*(int *)(puVar32 + -0x6c) = (pMVar14->itc).fd" (pointer_expression "*(int *)(puVar32 + -0x6c)" * (cast_expression "(int *)(puVar32 + -0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x6c)" ( (binary_expression "puVar32 + -0x6c" identifier + number_literal) )))) = (field_expression "(pMVar14->itc).fd" (parenthesized_expression "(pMVar14->itc)" ( (field_expression "pMVar14->itc" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x70) = 0x1bac5;" (assignment_expression "*(undefined4 *)(puVar32 + -0x70) = 0x1bac5" (pointer_expression "*(undefined4 *)(puVar32 + -0x70)" * (cast_expression "(undefined4 *)(puVar32 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x70)" ( (binary_expression "puVar32 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100));" (call_expression "read(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100))" identifier (argument_list "(*(int *)(puVar32 + -0x6c),*(void **)(puVar32 + -0x68),*(size_t *)(puVar32 + -100))" ( (pointer_expression "*(int *)(puVar32 + -0x6c)" * (cast_expression "(int *)(puVar32 + -0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x6c)" ( (binary_expression "puVar32 + -0x6c" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar32 + -0x68)" * (cast_expression "(void **)(puVar32 + -0x68)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + -0x68)" ( (binary_expression "puVar32 + -0x68" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar32 + -100)" * (cast_expression "(size_t *)(puVar32 + -100)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -100)" ( (binary_expression "puVar32 + -100" identifier + number_literal) )))) ))) ;) }))) (labeled_statement "LAB_0001b984:\n      if (((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0)) {\n        *(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;\n        MHD_accept_connection(pMVar14);\n      }" statement_identifier : (if_statement "if (((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0)) {\n        *(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;\n        MHD_accept_connection(pMVar14);\n      }" if (parenthesized_expression "(((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0))" ( (binary_expression "((pMVar14->shutdown == false) && (iVar25 != -1)) && ((puVar32[-0x3a] & 1) != 0)" (parenthesized_expression "((pMVar14->shutdown == false) && (iVar25 != -1))" ( (binary_expression "(pMVar14->shutdown == false) && (iVar25 != -1)" (parenthesized_expression "(pMVar14->shutdown == false)" ( (binary_expression "pMVar14->shutdown == false" (field_expression "pMVar14->shutdown" identifier -> field_identifier) == false) )) && (parenthesized_expression "(iVar25 != -1)" ( (binary_expression "iVar25 != -1" identifier != number_literal) ))) )) && (parenthesized_expression "((puVar32[-0x3a] & 1) != 0)" ( (binary_expression "(puVar32[-0x3a] & 1) != 0" (parenthesized_expression "(puVar32[-0x3a] & 1)" ( (binary_expression "puVar32[-0x3a] & 1" (subscript_expression "puVar32[-0x3a]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;\n        MHD_accept_connection(pMVar14);\n      }" { (expression_statement "*(undefined4 *)(puVar32 + -0x60) = 0x1b9a4;" (assignment_expression "*(undefined4 *)(puVar32 + -0x60) = 0x1b9a4" (pointer_expression "*(undefined4 *)(puVar32 + -0x60)" * (cast_expression "(undefined4 *)(puVar32 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x60)" ( (binary_expression "puVar32 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_accept_connection(pMVar14);" (call_expression "MHD_accept_connection(pMVar14)" identifier (argument_list "(pMVar14)" ( identifier ))) ;) }))) (goto_statement "goto LAB_0001b9ad;" goto statement_identifier ;) })) }))) (expression_statement "*(undefined4 *)(puVar32 + -0x60) = 0x1ba55;" (assignment_expression "*(undefined4 *)(puVar32 + -0x60) = 0x1ba55" (pointer_expression "*(undefined4 *)(puVar32 + -0x60)" * (cast_expression "(undefined4 *)(puVar32 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x60)" ( (binary_expression "puVar32 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar13 != 4) {\n    *(int *)(puVar32 + -0x6c) = *piVar13;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba69;\n    pcVar24 = strerror(*(int *)(puVar32 + -0x6c));\n    *(char **)(puVar32 + -100) = pcVar24;\n    *(int *)(puVar32 + -0x68) = iVar12 + 0xf7f7;\n    *(MHD_Daemon **)(puVar32 + -0x6c) = pMVar14;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba7a;\n    MHD_DLOG(*(MHD_Daemon **)(puVar32 + -0x6c),*(char **)(puVar32 + -0x68));\n  }" if (parenthesized_expression "(*piVar13 != 4)" ( (binary_expression "*piVar13 != 4" (pointer_expression "*piVar13" * identifier) != number_literal) )) (compound_statement "{\n    *(int *)(puVar32 + -0x6c) = *piVar13;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba69;\n    pcVar24 = strerror(*(int *)(puVar32 + -0x6c));\n    *(char **)(puVar32 + -100) = pcVar24;\n    *(int *)(puVar32 + -0x68) = iVar12 + 0xf7f7;\n    *(MHD_Daemon **)(puVar32 + -0x6c) = pMVar14;\n    *(undefined4 *)(puVar32 + -0x70) = 0x1ba7a;\n    MHD_DLOG(*(MHD_Daemon **)(puVar32 + -0x6c),*(char **)(puVar32 + -0x68));\n  }" { (expression_statement "*(int *)(puVar32 + -0x6c) = *piVar13;" (assignment_expression "*(int *)(puVar32 + -0x6c) = *piVar13" (pointer_expression "*(int *)(puVar32 + -0x6c)" * (cast_expression "(int *)(puVar32 + -0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x6c)" ( (binary_expression "puVar32 + -0x6c" identifier + number_literal) )))) = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x70) = 0x1ba69;" (assignment_expression "*(undefined4 *)(puVar32 + -0x70) = 0x1ba69" (pointer_expression "*(undefined4 *)(puVar32 + -0x70)" * (cast_expression "(undefined4 *)(puVar32 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x70)" ( (binary_expression "puVar32 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar24 = strerror(*(int *)(puVar32 + -0x6c));" (assignment_expression "pcVar24 = strerror(*(int *)(puVar32 + -0x6c))" identifier = (call_expression "strerror(*(int *)(puVar32 + -0x6c))" identifier (argument_list "(*(int *)(puVar32 + -0x6c))" ( (pointer_expression "*(int *)(puVar32 + -0x6c)" * (cast_expression "(int *)(puVar32 + -0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x6c)" ( (binary_expression "puVar32 + -0x6c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar32 + -100) = pcVar24;" (assignment_expression "*(char **)(puVar32 + -100) = pcVar24" (pointer_expression "*(char **)(puVar32 + -100)" * (cast_expression "(char **)(puVar32 + -100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + -100)" ( (binary_expression "puVar32 + -100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar32 + -0x68) = iVar12 + 0xf7f7;" (assignment_expression "*(int *)(puVar32 + -0x68) = iVar12 + 0xf7f7" (pointer_expression "*(int *)(puVar32 + -0x68)" * (cast_expression "(int *)(puVar32 + -0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x68)" ( (binary_expression "puVar32 + -0x68" identifier + number_literal) )))) = (binary_expression "iVar12 + 0xf7f7" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)(puVar32 + -0x6c) = pMVar14;" (assignment_expression "*(MHD_Daemon **)(puVar32 + -0x6c) = pMVar14" (pointer_expression "*(MHD_Daemon **)(puVar32 + -0x6c)" * (cast_expression "(MHD_Daemon **)(puVar32 + -0x6c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + -0x6c)" ( (binary_expression "puVar32 + -0x6c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar32 + -0x70) = 0x1ba7a;" (assignment_expression "*(undefined4 *)(puVar32 + -0x70) = 0x1ba7a" (pointer_expression "*(undefined4 *)(puVar32 + -0x70)" * (cast_expression "(undefined4 *)(puVar32 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x70)" ( (binary_expression "puVar32 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)(puVar32 + -0x6c),*(char **)(puVar32 + -0x68));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar32 + -0x6c),*(char **)(puVar32 + -0x68))" identifier (argument_list "(*(MHD_Daemon **)(puVar32 + -0x6c),*(char **)(puVar32 + -0x68))" ( (pointer_expression "*(MHD_Daemon **)(puVar32 + -0x6c)" * (cast_expression "(MHD_Daemon **)(puVar32 + -0x6c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + -0x6c)" ( (binary_expression "puVar32 + -0x6c" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar32 + -0x68)" * (cast_expression "(char **)(puVar32 + -0x68)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + -0x68)" ( (binary_expression "puVar32 + -0x68" identifier + number_literal) )))) ))) ;) })) (labeled_statement "LAB_0001b9ad:\n  if (*(int *)(puVar32 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined **)(puVar32 + -0x60) = &UNK_0001bad2;\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (*(int *)(puVar32 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined **)(puVar32 + -0x60) = &UNK_0001bad2;\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(*(int *)(puVar32 + -0x30) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar32 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar32 + -0x30)" * (cast_expression "(int *)(puVar32 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -0x30)" ( (binary_expression "puVar32 + -0x30" identifier + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    *(undefined **)(puVar32 + -0x60) = &UNK_0001bad2;\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "*(undefined **)(puVar32 + -0x60) = &UNK_0001bad2;" (assignment_expression "*(undefined **)(puVar32 + -0x60) = &UNK_0001bad2" (pointer_expression "*(undefined **)(puVar32 + -0x60)" * (cast_expression "(undefined **)(puVar32 + -0x60)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + -0x60)" ( (binary_expression "puVar32 + -0x60" identifier + number_literal) )))) = (pointer_expression "&UNK_0001bad2" & identifier)) ;) (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })))
(translation_unit "undefined4 __regparm3 FUN_0001a860(void **param_1,int param_2,int param_3)\n\n{\n  pthread_mutex_t *__mutex;\n  uint uVar1;\n  code *pcVar2;\n  uint uVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  void *pvVar10;\n  ssize_t sVar11;\n  int iVar12;\n  int *piVar13;\n  char *pcVar14;\n  int iVar15;\n  undefined4 extraout_ECX;\n  int *piVar16;\n  int iVar17;\n  __compar_fn_t extraout_EDX;\n  __compar_fn_t __compar;\n  undefined4 extraout_EDX_00;\n  int extraout_EDX_01;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  void **__rootp;\n  undefined4 uVar23;\n  int in_GS_OFFSET;\n  undefined8 uVar24;\n  byte abStackY_29e [450];\n  size_t asStackY_dc [7];\n  uint auStackY_c0 [6];\n  byte abStackY_a8 [4];\n  int aiStackY_a4 [18];\n  undefined1 auStack_4c [12];\n  __compar_fn_t local_40;\n  int local_38 [4];\n  undefined4 local_28;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1a86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  do {\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  } while ((void **)__rootp[0x1c] != (void **)0x0);\n  if (__rootp[0x3d] == (void *)0x0) {\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }\n    return 0;\n  }\n  piVar13 = local_38;\n  uVar3 = 0;\n  do {\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x18);\n  if (param_3 == 0x10) {\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }\n  else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }\n  __mutex = (pthread_mutex_t *)(__rootp + 0x25);\n  iVar4 = pthread_mutex_lock(__mutex);\n  puVar19 = auStack_4c;\n  if (iVar4 == 0) {\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }\n  *(undefined4 *)(puVar19 + -4) = 0x1a9d8;\n  uVar24 = FUN_0001a630();\n  uVar3 = (uint)((ulonglong)uVar24 >> 0x20);\n  piVar16 = (int *)uVar24;\n  *(int **)(puVar19 + -4) = piVar13;\n  *(pthread_mutex_t **)(puVar19 + -8) = __mutex;\n  *(void ***)(puVar19 + -0xc) = __rootp;\n  *(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;\n  iVar4 = *(int *)(puVar19 + -0x14);\n  *(undefined4 *)(puVar19 + -0x40) = extraout_ECX;\n  *(uint *)(puVar19 + -0x44) = uVar3;\n  *(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);\n  *(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);\n  *(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar20 = puVar19 + -0x4c;\n  if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }\nLAB_0001aae0:\n  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }\n  *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar21 + -8) = 0x912;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;\n  (*pcVar2)();\n  piVar9 = piVar13;\nLAB_0001b5ba:\n  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;\n  FUN_0001a630();\n  puVar21 = puVar20;\nLAB_0001b5bf:\n  *(int *)(puVar21 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar21 + -8) = 0x9e4;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5de;\n  (*pcVar2)();\nLAB_0001b5de:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar20 + -8) = 0xa5b;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b5fd:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n  *(undefined4 *)(puVar20 + -8) = 0xa01;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b61c;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b61c:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x985;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b63b;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b63b:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x971;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b65a;\n  iVar12 = (*pcVar2)();\n  *(int **)(puVar20 + -0x14) = piVar9;\n  *(int **)(puVar20 + -0x18) = piVar8;\n  *(int **)(puVar20 + -0x1c) = piVar16;\n  *(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;\n  *(undefined4 *)(puVar20 + -0x24) = 0x1b66d;\n  iVar4 = *(int *)(puVar20 + -0x24);\n  *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  uVar3 = 0;\n  *(undefined4 *)(puVar20 + -0x50) = 0x1c;\n  do {\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x1c);\n  iVar6 = *(int *)(iVar12 + 0xc4);\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))\n  goto LAB_0001b7c0;\n  *(undefined4 *)(puVar20 + -0x70) = 0x80800;\n  *(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;\n  *(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;\n  *(int *)(puVar20 + -0x7c) = iVar6;\n  *(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;\n  iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));\n  puVar22 = puVar20 + -0x6c;\n  if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }\n  *(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;\n  piVar13 = __errno_location();\n  iVar17 = *piVar13;\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001b7c0:\n  uVar23 = 0;\nLAB_0001b7c2:\n  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }\n  return uVar23;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_0001a860(void **param_1,int param_2,int param_3)\n\n{\n  pthread_mutex_t *__mutex;\n  uint uVar1;\n  code *pcVar2;\n  uint uVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  void *pvVar10;\n  ssize_t sVar11;\n  int iVar12;\n  int *piVar13;\n  char *pcVar14;\n  int iVar15;\n  undefined4 extraout_ECX;\n  int *piVar16;\n  int iVar17;\n  __compar_fn_t extraout_EDX;\n  __compar_fn_t __compar;\n  undefined4 extraout_EDX_00;\n  int extraout_EDX_01;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  void **__rootp;\n  undefined4 uVar23;\n  int in_GS_OFFSET;\n  undefined8 uVar24;\n  byte abStackY_29e [450];\n  size_t asStackY_dc [7];\n  uint auStackY_c0 [6];\n  byte abStackY_a8 [4];\n  int aiStackY_a4 [18];\n  undefined1 auStack_4c [12];\n  __compar_fn_t local_40;\n  int local_38 [4];\n  undefined4 local_28;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1a86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  do {\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  } while ((void **)__rootp[0x1c] != (void **)0x0);\n  if (__rootp[0x3d] == (void *)0x0) {\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }\n    return 0;\n  }\n  piVar13 = local_38;\n  uVar3 = 0;\n  do {\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x18);\n  if (param_3 == 0x10) {\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }\n  else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }\n  __mutex = (pthread_mutex_t *)(__rootp + 0x25);\n  iVar4 = pthread_mutex_lock(__mutex);\n  puVar19 = auStack_4c;\n  if (iVar4 == 0) {\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }\n  *(undefined4 *)(puVar19 + -4) = 0x1a9d8;\n  uVar24 = FUN_0001a630();\n  uVar3 = (uint)((ulonglong)uVar24 >> 0x20);\n  piVar16 = (int *)uVar24;\n  *(int **)(puVar19 + -4) = piVar13;\n  *(pthread_mutex_t **)(puVar19 + -8) = __mutex;\n  *(void ***)(puVar19 + -0xc) = __rootp;\n  *(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;\n  iVar4 = *(int *)(puVar19 + -0x14);\n  *(undefined4 *)(puVar19 + -0x40) = extraout_ECX;\n  *(uint *)(puVar19 + -0x44) = uVar3;\n  *(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);\n  *(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);\n  *(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar20 = puVar19 + -0x4c;\n  if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }\nLAB_0001aae0:\n  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }\n  *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar21 + -8) = 0x912;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;\n  (*pcVar2)();\n  piVar9 = piVar13;\nLAB_0001b5ba:\n  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;\n  FUN_0001a630();\n  puVar21 = puVar20;\nLAB_0001b5bf:\n  *(int *)(puVar21 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar21 + -8) = 0x9e4;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5de;\n  (*pcVar2)();\nLAB_0001b5de:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar20 + -8) = 0xa5b;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b5fd:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n  *(undefined4 *)(puVar20 + -8) = 0xa01;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b61c;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b61c:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x985;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b63b;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b63b:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x971;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b65a;\n  iVar12 = (*pcVar2)();\n  *(int **)(puVar20 + -0x14) = piVar9;\n  *(int **)(puVar20 + -0x18) = piVar8;\n  *(int **)(puVar20 + -0x1c) = piVar16;\n  *(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;\n  *(undefined4 *)(puVar20 + -0x24) = 0x1b66d;\n  iVar4 = *(int *)(puVar20 + -0x24);\n  *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  uVar3 = 0;\n  *(undefined4 *)(puVar20 + -0x50) = 0x1c;\n  do {\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x1c);\n  iVar6 = *(int *)(iVar12 + 0xc4);\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))\n  goto LAB_0001b7c0;\n  *(undefined4 *)(puVar20 + -0x70) = 0x80800;\n  *(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;\n  *(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;\n  *(int *)(puVar20 + -0x7c) = iVar6;\n  *(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;\n  iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));\n  puVar22 = puVar20 + -0x6c;\n  if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }\n  *(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;\n  piVar13 = __errno_location();\n  iVar17 = *piVar13;\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001b7c0:\n  uVar23 = 0;\nLAB_0001b7c2:\n  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }\n  return uVar23;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_0001a860(void **param_1,int param_2,int param_3)" identifier (parameter_list "(void **param_1,int param_2,int param_3)" ( (parameter_declaration "void **param_1" primitive_type (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  pthread_mutex_t *__mutex;\n  uint uVar1;\n  code *pcVar2;\n  uint uVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  void *pvVar10;\n  ssize_t sVar11;\n  int iVar12;\n  int *piVar13;\n  char *pcVar14;\n  int iVar15;\n  undefined4 extraout_ECX;\n  int *piVar16;\n  int iVar17;\n  __compar_fn_t extraout_EDX;\n  __compar_fn_t __compar;\n  undefined4 extraout_EDX_00;\n  int extraout_EDX_01;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  void **__rootp;\n  undefined4 uVar23;\n  int in_GS_OFFSET;\n  undefined8 uVar24;\n  byte abStackY_29e [450];\n  size_t asStackY_dc [7];\n  uint auStackY_c0 [6];\n  byte abStackY_a8 [4];\n  int aiStackY_a4 [18];\n  undefined1 auStack_4c [12];\n  __compar_fn_t local_40;\n  int local_38 [4];\n  undefined4 local_28;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1a86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  do {\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  } while ((void **)__rootp[0x1c] != (void **)0x0);\n  if (__rootp[0x3d] == (void *)0x0) {\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }\n    return 0;\n  }\n  piVar13 = local_38;\n  uVar3 = 0;\n  do {\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x18);\n  if (param_3 == 0x10) {\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }\n  else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }\n  __mutex = (pthread_mutex_t *)(__rootp + 0x25);\n  iVar4 = pthread_mutex_lock(__mutex);\n  puVar19 = auStack_4c;\n  if (iVar4 == 0) {\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }\n  *(undefined4 *)(puVar19 + -4) = 0x1a9d8;\n  uVar24 = FUN_0001a630();\n  uVar3 = (uint)((ulonglong)uVar24 >> 0x20);\n  piVar16 = (int *)uVar24;\n  *(int **)(puVar19 + -4) = piVar13;\n  *(pthread_mutex_t **)(puVar19 + -8) = __mutex;\n  *(void ***)(puVar19 + -0xc) = __rootp;\n  *(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;\n  iVar4 = *(int *)(puVar19 + -0x14);\n  *(undefined4 *)(puVar19 + -0x40) = extraout_ECX;\n  *(uint *)(puVar19 + -0x44) = uVar3;\n  *(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);\n  *(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);\n  *(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar20 = puVar19 + -0x4c;\n  if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }\nLAB_0001aae0:\n  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }\n  *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar21 + -8) = 0x912;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;\n  (*pcVar2)();\n  piVar9 = piVar13;\nLAB_0001b5ba:\n  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;\n  FUN_0001a630();\n  puVar21 = puVar20;\nLAB_0001b5bf:\n  *(int *)(puVar21 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar21 + -8) = 0x9e4;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5de;\n  (*pcVar2)();\nLAB_0001b5de:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar20 + -8) = 0xa5b;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b5fd:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n  *(undefined4 *)(puVar20 + -8) = 0xa01;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b61c;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b61c:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x985;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b63b;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b63b:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x971;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b65a;\n  iVar12 = (*pcVar2)();\n  *(int **)(puVar20 + -0x14) = piVar9;\n  *(int **)(puVar20 + -0x18) = piVar8;\n  *(int **)(puVar20 + -0x1c) = piVar16;\n  *(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;\n  *(undefined4 *)(puVar20 + -0x24) = 0x1b66d;\n  iVar4 = *(int *)(puVar20 + -0x24);\n  *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  uVar3 = 0;\n  *(undefined4 *)(puVar20 + -0x50) = 0x1c;\n  do {\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x1c);\n  iVar6 = *(int *)(iVar12 + 0xc4);\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))\n  goto LAB_0001b7c0;\n  *(undefined4 *)(puVar20 + -0x70) = 0x80800;\n  *(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;\n  *(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;\n  *(int *)(puVar20 + -0x7c) = iVar6;\n  *(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;\n  iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));\n  puVar22 = puVar20 + -0x6c;\n  if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }\n  *(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;\n  piVar13 = __errno_location();\n  iVar17 = *piVar13;\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001b7c0:\n  uVar23 = 0;\nLAB_0001b7c2:\n  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }\n  return uVar23;\n}" { (declaration "pthread_mutex_t *__mutex;" type_identifier (pointer_declarator "*__mutex" * identifier) ;) (declaration "uint uVar1;" type_identifier identifier ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "void *pvVar10;" primitive_type (pointer_declarator "*pvVar10" * identifier) ;) (declaration "ssize_t sVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "__compar_fn_t extraout_EDX;" type_identifier identifier ;) (declaration "__compar_fn_t __compar;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_00;" type_identifier identifier ;) (declaration "int extraout_EDX_01;" primitive_type identifier ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "void **__rootp;" primitive_type (pointer_declarator "**__rootp" * (pointer_declarator "*__rootp" * identifier)) ;) (declaration "undefined4 uVar23;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "byte abStackY_29e [450];" type_identifier (array_declarator "abStackY_29e [450]" identifier [ number_literal ]) ;) (declaration "size_t asStackY_dc [7];" primitive_type (array_declarator "asStackY_dc [7]" identifier [ number_literal ]) ;) (declaration "uint auStackY_c0 [6];" type_identifier (array_declarator "auStackY_c0 [6]" identifier [ number_literal ]) ;) (declaration "byte abStackY_a8 [4];" type_identifier (array_declarator "abStackY_a8 [4]" identifier [ number_literal ]) ;) (declaration "int aiStackY_a4 [18];" primitive_type (array_declarator "aiStackY_a4 [18]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_4c [12];" type_identifier (array_declarator "auStack_4c [12]" identifier [ number_literal ]) ;) (declaration "__compar_fn_t local_40;" type_identifier identifier ;) (declaration "int local_38 [4];" primitive_type (array_declarator "local_38 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1a86b;" (assignment_expression "uStack_14 = 0x1a86b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (do_statement "do {\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  } while ((void **)__rootp[0x1c] != (void **)0x0);" do (compound_statement "{\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  }" { (expression_statement "__rootp = param_1;" (assignment_expression "__rootp = param_1" identifier = identifier) ;) (expression_statement "param_1 = (void **)__rootp[0x1c];" (assignment_expression "param_1 = (void **)__rootp[0x1c]" identifier = (cast_expression "(void **)__rootp[0x1c]" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "__rootp[0x1c]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((void **)__rootp[0x1c] != (void **)0x0)" ( (binary_expression "(void **)__rootp[0x1c] != (void **)0x0" (cast_expression "(void **)__rootp[0x1c]" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "__rootp[0x1c]" identifier [ number_literal ])) != (cast_expression "(void **)0x0" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) ;) (if_statement "if (__rootp[0x3d] == (void *)0x0) {\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }\n    return 0;\n  }" if (parenthesized_expression "(__rootp[0x3d] == (void *)0x0)" ( (binary_expression "__rootp[0x3d] == (void *)0x0" (subscript_expression "__rootp[0x3d]" identifier [ number_literal ]) == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }\n    return 0;\n  }" { (labeled_statement "LAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n      FUN_000299b0();\n    }" { (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return 0;" return number_literal ;) })) (expression_statement "piVar13 = local_38;" (assignment_expression "piVar13 = local_38" identifier = identifier) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (do_statement "do {\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x18);" do (compound_statement "{\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  }" { (expression_statement "*(undefined4 *)((int)piVar13 + uVar3) = 0;" (assignment_expression "*(undefined4 *)((int)piVar13 + uVar3) = 0" (pointer_expression "*(undefined4 *)((int)piVar13 + uVar3)" * (cast_expression "(undefined4 *)((int)piVar13 + uVar3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar13 + uVar3)" ( (binary_expression "(int)piVar13 + uVar3" (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "uVar3 = uVar3 + 4;" (assignment_expression "uVar3 = uVar3 + 4" identifier = (binary_expression "uVar3 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 < 0x18)" ( (binary_expression "uVar3 < 0x18" identifier < number_literal) )) ;) (if_statement "if (param_3 == 0x10) {\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }\n  else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }" if (parenthesized_expression "(param_3 == 0x10)" ( (binary_expression "param_3 == 0x10" identifier == number_literal) )) (compound_statement "{\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }" { (expression_statement "local_38[1] = *(undefined4 *)(param_2 + 4);" (assignment_expression "local_38[1] = *(undefined4 *)(param_2 + 4)" (subscript_expression "local_38[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(param_2 + 4)" * (cast_expression "(undefined4 *)(param_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_38[0] = 2;" (assignment_expression "local_38[0] = 2" (subscript_expression "local_38[0]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }" else (compound_statement "{\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }" { (if_statement "if (param_3 != 0x1c) goto LAB_0001a89b;" if (parenthesized_expression "(param_3 != 0x1c)" ( (binary_expression "param_3 != 0x1c" identifier != number_literal) )) (goto_statement "goto LAB_0001a89b;" goto statement_identifier ;)) (expression_statement "local_38[1] = *(undefined4 *)(param_2 + 8);" (assignment_expression "local_38[1] = *(undefined4 *)(param_2 + 8)" (subscript_expression "local_38[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(param_2 + 8)" * (cast_expression "(undefined4 *)(param_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_38[0] = 10;" (assignment_expression "local_38[0] = 10" (subscript_expression "local_38[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_38[2] = *(undefined4 *)(param_2 + 0xc);" (assignment_expression "local_38[2] = *(undefined4 *)(param_2 + 0xc)" (subscript_expression "local_38[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_38[3] = *(undefined4 *)(param_2 + 0x10);" (assignment_expression "local_38[3] = *(undefined4 *)(param_2 + 0x10)" (subscript_expression "local_38[3]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_28 = *(undefined4 *)(param_2 + 0x14);" (assignment_expression "local_28 = *(undefined4 *)(param_2 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x14)" * (cast_expression "(undefined4 *)(param_2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) }))) (expression_statement "__mutex = (pthread_mutex_t *)(__rootp + 0x25);" (assignment_expression "__mutex = (pthread_mutex_t *)(__rootp + 0x25)" identifier = (cast_expression "(pthread_mutex_t *)(__rootp + 0x25)" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__rootp + 0x25)" ( (binary_expression "__rootp + 0x25" identifier + number_literal) )))) ;) (expression_statement "iVar4 = pthread_mutex_lock(__mutex);" (assignment_expression "iVar4 = pthread_mutex_lock(__mutex)" identifier = (call_expression "pthread_mutex_lock(__mutex)" identifier (argument_list "(__mutex)" ( identifier )))) ;) (expression_statement "puVar19 = auStack_4c;" (assignment_expression "puVar19 = auStack_4c" identifier = identifier) ;) (if_statement "if (iVar4 == 0) {\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }" { (expression_statement "local_40 = FUN_00019d00;" (assignment_expression "local_40 = FUN_00019d00" identifier = identifier) ;) (expression_statement "__rootp = __rootp + 0x1e;" (assignment_expression "__rootp = __rootp + 0x1e" identifier = (binary_expression "__rootp + 0x1e" identifier + number_literal)) ;) (expression_statement "puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);" (assignment_expression "puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00)" identifier = (cast_expression "(undefined4 *)tfind(piVar13,__rootp,FUN_00019d00)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "tfind(piVar13,__rootp,FUN_00019d00)" identifier (argument_list "(piVar13,__rootp,FUN_00019d00)" ( identifier , identifier , identifier ))))) ;) (expression_statement "puVar18 = auStack_4c;" (assignment_expression "puVar18 = auStack_4c" identifier = identifier) ;) (if_statement "if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }" if (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" ( (binary_expression "puVar5 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }" { (expression_statement "piVar13 = (int *)*puVar5;" (assignment_expression "piVar13 = (int *)*puVar5" identifier = (cast_expression "(int *)*puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (if_statement "if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }" if (parenthesized_expression "(piVar13[5] != 0)" ( (binary_expression "piVar13[5] != 0" (subscript_expression "piVar13[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }" { (expression_statement "iVar4 = piVar13[5] + -1;" (assignment_expression "iVar4 = piVar13[5] + -1" identifier = (binary_expression "piVar13[5] + -1" (subscript_expression "piVar13[5]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar13[5] = iVar4;" (assignment_expression "piVar13[5] = iVar4" (subscript_expression "piVar13[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__compar = local_40;" (assignment_expression "__compar = local_40" identifier = identifier) ;) (if_statement "if (iVar4 == 0) goto LAB_0001a978;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001a978;" goto statement_identifier ;)) (while_statement "while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }" while (parenthesized_expression "(iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0)" ( (comma_expression "iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0" (assignment_expression "iVar4 = pthread_mutex_unlock(__mutex)" identifier = (call_expression "pthread_mutex_unlock(__mutex)" identifier (argument_list "(__mutex)" ( identifier )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) )) (compound_statement "{\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }" { (expression_statement "FUN_0001a660();" (call_expression "FUN_0001a660()" identifier (argument_list "()" ( ))) ;) (expression_statement "__compar = extraout_EDX;" (assignment_expression "__compar = extraout_EDX" identifier = identifier) ;) (labeled_statement "LAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);" statement_identifier : (expression_statement "tdelete(piVar13,__rootp,__compar);" (call_expression "tdelete(piVar13,__rootp,__compar)" identifier (argument_list "(piVar13,__rootp,__compar)" ( identifier , identifier , identifier ))) ;)) (expression_statement "free(piVar13);" (call_expression "free(piVar13)" identifier (argument_list "(piVar13)" ( identifier ))) ;) })) (goto_statement "goto LAB_0001a89b;" goto statement_identifier ;) })) (expression_statement "puVar18 = &stack0xffffffa4;" (assignment_expression "puVar18 = &stack0xffffffa4" identifier = (pointer_expression "&stack0xffffffa4" & identifier)) ;) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" ( (pointer_expression "*DAT_0003506c" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "*(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";" (assignment_expression "*(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n"" (pointer_expression "*(char **)(puVar18 + -4)" * (cast_expression "(char **)(puVar18 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (string_literal ""Failed to find previously-added IP address\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = 0x1dc;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 0x1dc" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar18 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar19 = puVar18 + -0x10;" (assignment_expression "puVar19 = puVar18 + -0x10" identifier = (binary_expression "puVar18 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = DAT_00035068;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = DAT_00035068" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x1a9d3" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" ( (pointer_expression "*DAT_0003506c" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar19 + -4) = 0x1a9d8;" (assignment_expression "*(undefined4 *)(puVar19 + -4) = 0x1a9d8" (pointer_expression "*(undefined4 *)(puVar19 + -4)" * (cast_expression "(undefined4 *)(puVar19 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar24 = FUN_0001a630();" (assignment_expression "uVar24 = FUN_0001a630()" identifier = (call_expression "FUN_0001a630()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar3 = (uint)((ulonglong)uVar24 >> 0x20);" (assignment_expression "uVar3 = (uint)((ulonglong)uVar24 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar24 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "piVar16 = (int *)uVar24;" (assignment_expression "piVar16 = (int *)uVar24" identifier = (cast_expression "(int *)uVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(int **)(puVar19 + -4) = piVar13;" (assignment_expression "*(int **)(puVar19 + -4) = piVar13" (pointer_expression "*(int **)(puVar19 + -4)" * (cast_expression "(int **)(puVar19 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(pthread_mutex_t **)(puVar19 + -8) = __mutex;" (assignment_expression "*(pthread_mutex_t **)(puVar19 + -8) = __mutex" (pointer_expression "*(pthread_mutex_t **)(puVar19 + -8)" * (cast_expression "(pthread_mutex_t **)(puVar19 + -8)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(void ***)(puVar19 + -0xc) = __rootp;" (assignment_expression "*(void ***)(puVar19 + -0xc) = __rootp" (pointer_expression "*(void ***)(puVar19 + -0xc)" * (cast_expression "(void ***)(puVar19 + -0xc)" ( (type_descriptor "void ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" * (cast_expression "(undefined ***)(puVar19 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar19 + -0x10)" ( (binary_expression "puVar19 + -0x10" identifier + number_literal) )))) = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x1a9eb" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" * (cast_expression "(undefined4 *)(puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = *(int *)(puVar19 + -0x14);" (assignment_expression "iVar4 = *(int *)(puVar19 + -0x14)" identifier = (pointer_expression "*(int *)(puVar19 + -0x14)" * (cast_expression "(int *)(puVar19 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x14)" ( (binary_expression "puVar19 + -0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x40) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar19 + -0x40) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar19 + -0x40)" * (cast_expression "(undefined4 *)(puVar19 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x40)" ( (binary_expression "puVar19 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar19 + -0x44) = uVar3;" (assignment_expression "*(uint *)(puVar19 + -0x44) = uVar3" (pointer_expression "*(uint *)(puVar19 + -0x44)" * (cast_expression "(uint *)(puVar19 + -0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x44)" ( (binary_expression "puVar19 + -0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);" (assignment_expression "*(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc)" (pointer_expression "*(undefined4 *)(puVar19 + -0x3c)" * (cast_expression "(undefined4 *)(puVar19 + -0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x3c)" ( (binary_expression "puVar19 + -0x3c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar19 + 0xc)" * (cast_expression "(undefined4 *)(puVar19 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0xc)" ( (binary_expression "puVar19 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);" (assignment_expression "*(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8)" (pointer_expression "*(undefined4 *)(puVar19 + -0x38)" * (cast_expression "(undefined4 *)(puVar19 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x38)" ( (binary_expression "puVar19 + -0x38" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar19 + 8)" * (cast_expression "(undefined4 *)(puVar19 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 8)" ( (binary_expression "puVar19 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar19 + -0x20)" * (cast_expression "(undefined4 *)(puVar19 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x20)" ( (binary_expression "puVar19 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puVar20 = puVar19 + -0x4c;" (assignment_expression "puVar20 = puVar19 + -0x4c" identifier = (binary_expression "puVar19 + -0x4c" identifier + number_literal)) ;) (if_statement "if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }" if (parenthesized_expression "(((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0))" ( (binary_expression "((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)" (parenthesized_expression "((char)*(undefined4 *)(puVar19 + 8) != '\0')" ( (binary_expression "(char)*(undefined4 *)(puVar19 + 8) != '\0'" (cast_expression "(char)*(undefined4 *)(puVar19 + 8)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined4 *)(puVar19 + 8)" * (cast_expression "(undefined4 *)(puVar19 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 8)" ( (binary_expression "puVar19 + 8" identifier + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)" ( (comma_expression "iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0" (assignment_expression "iVar12 = piVar16[0x1d]" identifier = (subscript_expression "piVar16[0x1d]" identifier [ number_literal ])) , (comma_expression "puVar20 = puVar19 + -0x4c, iVar12 != 0" (assignment_expression "puVar20 = puVar19 + -0x4c" identifier = (binary_expression "puVar19 + -0x4c" identifier + number_literal)) , (binary_expression "iVar12 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }" { (expression_statement "uVar1 = piVar16[0x22];" (assignment_expression "uVar1 = piVar16[0x22]" identifier = (subscript_expression "piVar16[0x22]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }" { (expression_statement "iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;" (assignment_expression "iVar6 = (uVar3 % uVar1) * 0x174 + iVar12" identifier = (binary_expression "(uVar3 % uVar1) * 0x174 + iVar12" (binary_expression "(uVar3 % uVar1) * 0x174" (parenthesized_expression "(uVar3 % uVar1)" ( (binary_expression "uVar3 % uVar1" identifier % identifier) )) * number_literal) + identifier)) ;) (if_statement "if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }" if (parenthesized_expression "(*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8))" ( (binary_expression "*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)" (pointer_expression "*(uint *)(iVar6 + 0xec)" * (cast_expression "(uint *)(iVar6 + 0xec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xec)" ( (binary_expression "iVar6 + 0xec" identifier + number_literal) )))) <= (pointer_expression "*(uint *)(iVar6 + 0xe8)" * (cast_expression "(uint *)(iVar6 + 0xe8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xe8)" ( (binary_expression "iVar6 + 0xe8" identifier + number_literal) ))))) )) (compound_statement "{\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }" { (expression_statement "piVar16 = *(int **)(puVar19 + -0x44);" (assignment_expression "piVar16 = *(int **)(puVar19 + -0x44)" identifier = (pointer_expression "*(int **)(puVar19 + -0x44)" * (cast_expression "(int **)(puVar19 + -0x44)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -0x44)" ( (binary_expression "puVar19 + -0x44" identifier + number_literal) ))))) ;) (expression_statement "piVar13 = (int *)(uVar1 + (int)piVar16);" (assignment_expression "piVar13 = (int *)(uVar1 + (int)piVar16)" identifier = (cast_expression "(int *)(uVar1 + (int)piVar16)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar1 + (int)piVar16)" ( (binary_expression "uVar1 + (int)piVar16" identifier + (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (do_statement "do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));" do (compound_statement "{\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        }" { (expression_statement "piVar16 = (int *)((int)piVar16 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar16 + 1)" identifier = (cast_expression "(int *)((int)piVar16 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar16 + 1)" ( (binary_expression "(int)piVar16 + 1" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (piVar13 == piVar16) goto LAB_0001aa90;" if (parenthesized_expression "(piVar13 == piVar16)" ( (binary_expression "piVar13 == piVar16" identifier == identifier) )) (goto_statement "goto LAB_0001aa90;" goto statement_identifier ;)) (expression_statement "iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;" (assignment_expression "iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174" identifier = (binary_expression "iVar12 + ((uint)piVar16 % uVar1) * 0x174" identifier + (binary_expression "((uint)piVar16 % uVar1) * 0x174" (parenthesized_expression "((uint)piVar16 % uVar1)" ( (binary_expression "(uint)piVar16 % uVar1" (cast_expression "(uint)piVar16" ( (type_descriptor "uint" type_identifier) ) identifier) % identifier) )) * number_literal))) ;) }) while (parenthesized_expression "(*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8))" ( (binary_expression "*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)" (pointer_expression "*(uint *)(iVar6 + 0xec)" * (cast_expression "(uint *)(iVar6 + 0xec)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xec)" ( (binary_expression "iVar6 + 0xec" identifier + number_literal) )))) <= (pointer_expression "*(uint *)(iVar6 + 0xe8)" * (cast_expression "(uint *)(iVar6 + 0xe8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xe8)" ( (binary_expression "iVar6 + 0xe8" identifier + number_literal) ))))) )) ;) })) (expression_statement "*(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];" (assignment_expression "*(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c]" (pointer_expression "*(uint *)(puVar19 + -0x54)" * (cast_expression "(uint *)(puVar19 + -0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x54)" ( (binary_expression "puVar19 + -0x54" identifier + number_literal) )))) = (cast_expression "(uint)(byte)puVar19[-0x3c]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar19[-0x3c]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar19[-0x3c]" identifier [ number_literal ])))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x58) = 1;" (assignment_expression "*(undefined4 *)(puVar19 + -0x58) = 1" (pointer_expression "*(undefined4 *)(puVar19 + -0x58)" * (cast_expression "(undefined4 *)(puVar19 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x58)" ( (binary_expression "puVar19 + -0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);" (assignment_expression "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4)" (pointer_expression "*(undefined4 *)(puVar19 + -0x5c)" * (cast_expression "(undefined4 *)(puVar19 + -0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x5c)" ( (binary_expression "puVar19 + -0x5c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar19 + 4)" * (cast_expression "(undefined4 *)(puVar19 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 4)" ( (binary_expression "puVar19 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x60) = 0x1ae14;" (assignment_expression "*(undefined4 *)(puVar19 + -0x60) = 0x1ae14" (pointer_expression "*(undefined4 *)(puVar19 + -0x60)" * (cast_expression "(undefined4 *)(puVar19 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x60)" ( (binary_expression "puVar19 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar23 = FUN_0001a9e0();" (assignment_expression "uVar23 = FUN_0001a9e0()" identifier = (call_expression "FUN_0001a9e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar20 = puVar19 + -0x4c;" (assignment_expression "puVar20 = puVar19 + -0x4c" identifier = (binary_expression "puVar19 + -0x4c" identifier + number_literal)) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (labeled_statement "LAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;" statement_identifier : (expression_statement "puVar20 = puVar19 + -0x5c;" (assignment_expression "puVar20 = puVar19 + -0x5c" identifier = (binary_expression "puVar19 + -0x5c" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);" (assignment_expression "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44)" (pointer_expression "*(undefined4 *)(puVar19 + -0x5c)" * (cast_expression "(undefined4 *)(puVar19 + -0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x5c)" ( (binary_expression "puVar19 + -0x5c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar19 + -0x44)" * (cast_expression "(undefined4 *)(puVar19 + -0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x44)" ( (binary_expression "puVar19 + -0x44" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;" (assignment_expression "*(undefined4 *)(puVar19 + -0x60) = 0x1aa9c" (pointer_expression "*(undefined4 *)(puVar19 + -0x60)" * (cast_expression "(undefined4 *)(puVar19 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x60)" ( (binary_expression "puVar19 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));" (assignment_expression "piVar16 = (int *)close(*(int *)(puVar19 + -0x5c))" identifier = (cast_expression "(int *)close(*(int *)(puVar19 + -0x5c))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "close(*(int *)(puVar19 + -0x5c))" identifier (argument_list "(*(int *)(puVar19 + -0x5c))" ( (pointer_expression "*(int *)(puVar19 + -0x5c)" * (cast_expression "(int *)(puVar19 + -0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x5c)" ( (binary_expression "puVar19 + -0x5c" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;" (assignment_expression "*(undefined4 *)(puVar19 + -0x60) = 0x1aaa3" (pointer_expression "*(undefined4 *)(puVar19 + -0x60)" * (cast_expression "(undefined4 *)(puVar19 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x60)" ( (binary_expression "puVar19 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar21 = puVar19 + -0x4c;" (assignment_expression "puVar21 = puVar19 + -0x4c" identifier = (binary_expression "puVar19 + -0x4c" identifier + number_literal)) ;) (if_statement "if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }" if (parenthesized_expression "((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9))" ( (binary_expression "(piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)" (parenthesized_expression "(piVar16 != (int *)0x0)" ( (binary_expression "piVar16 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar21 = puVar19 + -0x4c, *piVar7 == 9)" ( (comma_expression "puVar21 = puVar19 + -0x4c, *piVar7 == 9" (assignment_expression "puVar21 = puVar19 + -0x4c" identifier = (binary_expression "puVar19 + -0x4c" identifier + number_literal)) , (binary_expression "*piVar7 == 9" (pointer_expression "*piVar7" * identifier) == number_literal)) ))) )) (compound_statement "{\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }" { (expression_statement "*(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar19 + -0x50) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar19 + -0x50)" * (cast_expression "(int *)(puVar19 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x50)" ( (binary_expression "puVar19 + -0x50" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x54) = 0x900;" (assignment_expression "*(undefined4 *)(puVar19 + -0x54) = 0x900" (pointer_expression "*(undefined4 *)(puVar19 + -0x54)" * (cast_expression "(undefined4 *)(puVar19 + -0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x54)" ( (binary_expression "puVar19 + -0x54" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar19 + -0x58) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar19 + -0x58) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar19 + -0x58)" * (cast_expression "(int *)(puVar19 + -0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x58)" ( (binary_expression "puVar19 + -0x58" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar19 + -0x5c)" * (cast_expression "(undefined4 *)(puVar19 + -0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x5c)" ( (binary_expression "puVar19 + -0x5c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar19 + -0x60) = 0x1aad6;" (assignment_expression "*(undefined4 *)(puVar19 + -0x60) = 0x1aad6" (pointer_expression "*(undefined4 *)(puVar19 + -0x60)" * (cast_expression "(undefined4 *)(puVar19 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0x60)" ( (binary_expression "puVar19 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001aae0;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ab3b:\n    puVar20 = puVar21;" statement_identifier : (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" identifier = identifier) ;)) (expression_statement "*piVar7 = 0x17;" (assignment_expression "*piVar7 = 0x17" (pointer_expression "*piVar7" * identifier) = number_literal) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }" statement_identifier : (if_statement "if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }" if (parenthesized_expression "(*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar20 + 0x2c)" * (cast_expression "(int *)(puVar20 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x2c)" ( (binary_expression "puVar20 + 0x2c" identifier + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b4e1;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b4e1" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar23;" return identifier ;) })) (labeled_statement "LAB_0001aae0:\n  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }" statement_identifier : (if_statement "if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }" if (parenthesized_expression "((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0))" ( (binary_expression "(*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)" (parenthesized_expression "(*(int *)(puVar20 + 8) < 0x400)" ( (binary_expression "*(int *)(puVar20 + 8) < 0x400" (pointer_expression "*(int *)(puVar20 + 8)" * (cast_expression "(int *)(puVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) )))) < number_literal) )) || (parenthesized_expression "((piVar16[0x3e] & 0x240U) != 0)" ( (binary_expression "(piVar16[0x3e] & 0x240U) != 0" (parenthesized_expression "(piVar16[0x3e] & 0x240U)" ( (binary_expression "piVar16[0x3e] & 0x240U" (subscript_expression "piVar16[0x3e]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }" { (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" identifier = identifier) ;) (expression_statement "piVar9 = piVar13;" (assignment_expression "piVar9 = piVar13" identifier = identifier) ;) (expression_statement "piVar8 = piVar16;" (assignment_expression "piVar8 = piVar16" identifier = identifier) ;) (expression_statement "piVar7 = piVar16;" (assignment_expression "piVar7 = piVar16" identifier = identifier) ;) (if_statement "if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }" if (parenthesized_expression "(piVar16[0x3a] != piVar16[0x3b])" ( (binary_expression "piVar16[0x3a] != piVar16[0x3b]" (subscript_expression "piVar16[0x3a]" identifier [ number_literal ]) != (subscript_expression "piVar16[0x3b]" identifier [ number_literal ])) )) (compound_statement "{\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }" { (do_statement "do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);" do (compound_statement "{\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      }" { (expression_statement "piVar8 = piVar7;" (assignment_expression "piVar8 = piVar7" identifier = identifier) ;) (expression_statement "piVar7 = (int *)piVar8[0x1c];" (assignment_expression "piVar7 = (int *)piVar8[0x1c]" identifier = (cast_expression "(int *)piVar8[0x1c]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[0x1c]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "((int *)piVar8[0x1c] != (int *)0x0)" ( (binary_expression "(int *)piVar8[0x1c] != (int *)0x0" (cast_expression "(int *)piVar8[0x1c]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[0x1c]" identifier [ number_literal ])) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }" if (parenthesized_expression "(piVar8[0x3d] != 0)" ( (binary_expression "piVar8[0x3d] != 0" (subscript_expression "piVar8[0x3d]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }" { (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = 0x18;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = 0x18" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ad7c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));" (assignment_expression "piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" identifier = (cast_expression "(int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" identifier (argument_list "(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" ( (pointer_expression "*(size_t *)(puVar20 + -0x10)" * (cast_expression "(size_t *)(puVar20 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar20 + -0xc)" * (cast_expression "(size_t *)(puVar20 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) ))))) ;) (expression_statement "piVar9 = piVar13;" (assignment_expression "piVar9 = piVar13" identifier = identifier) ;) (if_statement "if (piVar13 == (int *)0x0) goto LAB_0001ab0a;" if (parenthesized_expression "(piVar13 == (int *)0x0)" ( (binary_expression "piVar13 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001ab0a;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;" if (parenthesized_expression "(*(int *)(puVar20 + 0x50) == 0x10)" ( (binary_expression "*(int *)(puVar20 + 0x50) == 0x10" (pointer_expression "*(int *)(puVar20 + 0x50)" * (cast_expression "(int *)(puVar20 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x50)" ( (binary_expression "puVar20 + 0x50" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001b05b;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }" if (parenthesized_expression "(*(int *)(puVar20 + 0x50) == 0x1c)" ( (binary_expression "*(int *)(puVar20 + 0x50) == 0x1c" (pointer_expression "*(int *)(puVar20 + 0x50)" * (cast_expression "(int *)(puVar20 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x50)" ( (binary_expression "puVar20 + 0x50" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }" { (expression_statement "iVar12 = *(int *)(puVar20 + 0xc);" (assignment_expression "iVar12 = *(int *)(puVar20 + 0xc)" identifier = (pointer_expression "*(int *)(puVar20 + 0xc)" * (cast_expression "(int *)(puVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xc)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*piVar13 = 10;" (assignment_expression "*piVar13 = 10" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (expression_statement "piVar13[1] = *(int *)(iVar12 + 8);" (assignment_expression "piVar13[1] = *(int *)(iVar12 + 8)" (subscript_expression "piVar13[1]" identifier [ number_literal ]) = (pointer_expression "*(int *)(iVar12 + 8)" * (cast_expression "(int *)(iVar12 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 8)" ( (binary_expression "iVar12 + 8" identifier + number_literal) ))))) ;) (expression_statement "piVar13[2] = *(int *)(iVar12 + 0xc);" (assignment_expression "piVar13[2] = *(int *)(iVar12 + 0xc)" (subscript_expression "piVar13[2]" identifier [ number_literal ]) = (pointer_expression "*(int *)(iVar12 + 0xc)" * (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(iVar12 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar12 + 0x14)" identifier = (pointer_expression "*(int *)(iVar12 + 0x14)" * (cast_expression "(int *)(iVar12 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "piVar13[3] = *(int *)(iVar12 + 0x10);" (assignment_expression "piVar13[3] = *(int *)(iVar12 + 0x10)" (subscript_expression "piVar13[3]" identifier [ number_literal ]) = (pointer_expression "*(int *)(iVar12 + 0x10)" * (cast_expression "(int *)(iVar12 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x10)" ( (binary_expression "iVar12 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "piVar13[4] = iVar6;" (assignment_expression "piVar13[4] = iVar6" (subscript_expression "piVar13[4]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_0001b06b;" goto statement_identifier ;) })) (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ada8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ada8" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) })) (do_statement "do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);" do (compound_statement "{\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      }" { (expression_statement "pcVar2 = (code *)piVar16[0x10];" (assignment_expression "pcVar2 = (code *)piVar16[0x10]" identifier = (cast_expression "(code *)piVar16[0x10]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[0x10]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }" if (parenthesized_expression "(pcVar2 != (code *)0x0)" ( (binary_expression "pcVar2 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }" { (expression_statement "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);" (assignment_expression "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50)" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x50)" * (cast_expression "(undefined4 *)(puVar20 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x50)" ( (binary_expression "puVar20 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc)" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0xc)" * (cast_expression "(undefined4 *)(puVar20 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xc)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x11];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x11]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar16[0x11]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ab8e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = (int *)(*pcVar2)();" (assignment_expression "piVar8 = (int *)(*pcVar2)()" identifier = (cast_expression "(int *)(*pcVar2)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))))) ;) (if_statement "if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }" { (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1aea4;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1aea4" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" identifier = (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1aeb0;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1aeb0" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar7 == 9) goto LAB_0001b55d;" if (parenthesized_expression "(*piVar7 == 9)" ( (binary_expression "*piVar7 == 9" (pointer_expression "*piVar7" * identifier) == number_literal) )) (goto_statement "goto LAB_0001b55d;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1aec8;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1aec8" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) })) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 0xfc;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 0xfc" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1abaa;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1abaa" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));" (assignment_expression "piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" identifier = (cast_expression "(int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" identifier (argument_list "(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" ( (pointer_expression "*(size_t *)(puVar20 + -0x10)" * (cast_expression "(size_t *)(puVar20 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar20 + -0xc)" * (cast_expression "(size_t *)(puVar20 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) ))))) ;) (if_statement "if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1aed5;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1aed5" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar13 = (int *)*piVar8;" (assignment_expression "piVar13 = (int *)*piVar8" identifier = (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1aee2;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1aee2" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" * (cast_expression "(char **)(puVar20 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10683" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1aef3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1aef3" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1aefd;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1aefd" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" identifier = (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;" if (parenthesized_expression "((iVar12 != 0) && (*piVar8 == 9))" ( (binary_expression "(iVar12 != 0) && (*piVar8 == 9)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(*piVar8 == 9)" ( (binary_expression "*piVar8 == 9" (pointer_expression "*piVar8" * identifier) == number_literal) ))) )) (goto_statement "goto LAB_0001b57c;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1af1c;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1af1c" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" identifier (argument_list "()" ( ))) ;) (expression_statement "*piVar8 = (int)piVar13;" (assignment_expression "*piVar8 = (int)piVar13" (pointer_expression "*piVar8" * identifier) = (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x1f];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x1f]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar16[0x1f]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1abc2;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1abc2" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = FUN_000219e0();" (assignment_expression "iVar12 = FUN_000219e0()" identifier = (call_expression "FUN_000219e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar9[10] = iVar12;" (assignment_expression "piVar9[10] = iVar12" (subscript_expression "piVar9[10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1af2a;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1af2a" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar20 + -0x10) = *piVar8;" (assignment_expression "*(int *)(puVar20 + -0x10) = *piVar8" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af36;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af36" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" * (cast_expression "(char **)(puVar20 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10683" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af47;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af47" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af51;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af51" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" identifier = (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;" if (parenthesized_expression "((iVar12 != 0) && (*piVar8 == 9))" ( (binary_expression "(iVar12 != 0) && (*piVar8 == 9)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(*piVar8 == 9)" ( (binary_expression "*piVar8 == 9" (pointer_expression "*piVar8" * identifier) == number_literal) ))) )) (goto_statement "goto LAB_0001b63b;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1af70;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1af70" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af79;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af79" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*piVar8 = 0xc;" (assignment_expression "*piVar8 = 0xc" (pointer_expression "*piVar8" * identifier) = number_literal) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "piVar9[0x26] = piVar16[0x3c];" (assignment_expression "piVar9[0x26] = piVar16[0x3c]" (subscript_expression "piVar9[0x26]" identifier [ number_literal ]) = (subscript_expression "piVar16[0x3c]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x50)" * (cast_expression "(undefined4 *)(puVar20 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x50)" ( (binary_expression "puVar20 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1abe8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1abe8" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));" (assignment_expression "pvVar10 = malloc(*(size_t *)(puVar20 + -0x10))" identifier = (call_expression "malloc(*(size_t *)(puVar20 + -0x10))" identifier (argument_list "(*(size_t *)(puVar20 + -0x10))" ( (pointer_expression "*(size_t *)(puVar20 + -0x10)" * (cast_expression "(size_t *)(puVar20 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "piVar9[0x15] = (int)pvVar10;" (assignment_expression "piVar9[0x15] = (int)pvVar10" (subscript_expression "piVar9[0x15]" identifier [ number_literal ]) = (cast_expression "(int)pvVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" if (parenthesized_expression "(pvVar10 == (void *)0x0)" ( (binary_expression "pvVar10 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1ae23;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1ae23" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar12 = *piVar8;" (assignment_expression "iVar12 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(int *)(puVar20 + 0x10) = iVar12;" (assignment_expression "*(int *)(puVar20 + 0x10) = iVar12" (pointer_expression "*(int *)(puVar20 + 0x10)" * (cast_expression "(int *)(puVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar20 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae34;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae34" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" * (cast_expression "(char **)(puVar20 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10683" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae45;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae45" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae4f" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" identifier = (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;" if (parenthesized_expression "((iVar12 != 0) && (*piVar8 == 9))" ( (binary_expression "(iVar12 != 0) && (*piVar8 == 9)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(*piVar8 == 9)" ( (binary_expression "*piVar8 == 9" (pointer_expression "*piVar8" * identifier) == number_literal) ))) )) (goto_statement "goto LAB_0001b61c;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1ae6e;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1ae6e" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[10];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[10]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae79;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae79" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00021a90();" (call_expression "FUN_00021a90()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae81;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae81" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*piVar8 = *(int *)(puVar20 + 0x10);" (assignment_expression "*piVar8 = *(int *)(puVar20 + 0x10)" (pointer_expression "*piVar8" * identifier) = (pointer_expression "*(int *)(puVar20 + 0x10)" * (cast_expression "(int *)(puVar20 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);" (assignment_expression "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50)" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x50)" * (cast_expression "(undefined4 *)(puVar20 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x50)" ( (binary_expression "puVar20 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc)" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0xc)" * (cast_expression "(undefined4 *)(puVar20 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xc)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (expression_statement "*(void **)(puVar20 + -0x10) = pvVar10;" (assignment_expression "*(void **)(puVar20 + -0x10) = pvVar10" (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ac07;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ac07" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));" (call_expression "memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8))" identifier (argument_list "(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar20 + -0xc)" * (cast_expression "(void **)(puVar20 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar20 + -8)" * (cast_expression "(size_t *)(puVar20 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) ))) ;) (expression_statement "iVar12 = *(int *)(puVar20 + 0x50);" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x50)" identifier = (pointer_expression "*(int *)(puVar20 + 0x50)" * (cast_expression "(int *)(puVar20 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x50)" ( (binary_expression "puVar20 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "piVar9[6] = (int)piVar16;" (assignment_expression "piVar9[6] = (int)piVar16" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[0x24] = iVar12;" (assignment_expression "piVar9[0x24] = iVar12" (subscript_expression "piVar9[0x24]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0x29] = *(int *)(puVar20 + 8);" (assignment_expression "piVar9[0x29] = *(int *)(puVar20 + 8)" (subscript_expression "piVar9[0x29]" identifier [ number_literal ]) = (pointer_expression "*(int *)(puVar20 + 8)" * (cast_expression "(int *)(puVar20 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];" (assignment_expression "*(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10]" (pointer_expression "*(undefined1 *)(piVar9 + 0x2a)" * (cast_expression "(undefined1 *)(piVar9 + 0x2a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 0x2a)" ( (binary_expression "piVar9 + 0x2a" identifier + number_literal) )))) = (subscript_expression "puVar20[0x10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ac2e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = FUN_00021e50();" (assignment_expression "iVar12 = FUN_00021e50()" identifier = (call_expression "FUN_00021e50()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar9[0x25] = iVar12;" (assignment_expression "piVar9[0x25] = iVar12" (subscript_expression "piVar9[0x25]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }" if (parenthesized_expression "((*(byte *)(piVar16 + 0x3e) & 2) == 0)" ( (binary_expression "(*(byte *)(piVar16 + 0x3e) & 2) == 0" (parenthesized_expression "(*(byte *)(piVar16 + 0x3e) & 2)" ( (binary_expression "*(byte *)(piVar16 + 0x3e) & 2" (pointer_expression "*(byte *)(piVar16 + 0x3e)" * (cast_expression "(byte *)(piVar16 + 0x3e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar16 + 0x3e)" ( (binary_expression "piVar16 + 0x3e" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }" { (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ac4d" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00016110();" (call_expression "FUN_00016110()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;" statement_identifier : (expression_statement "*(int **)(puVar20 + 0x10) = piVar16 + 0x2b;" (assignment_expression "*(int **)(puVar20 + 0x10) = piVar16 + 0x2b" (pointer_expression "*(int **)(puVar20 + 0x10)" * (cast_expression "(int **)(puVar20 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) )))) = (binary_expression "piVar16 + 0x2b" identifier + number_literal)) ;)) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16 + 0x2b;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16 + 0x2b" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (binary_expression "piVar16 + 0x2b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ac63;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ac63" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" identifier = identifier) ;) (if_statement "if (iVar12 != 0) goto LAB_0001b5bf;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b5bf;" goto statement_identifier ;)) (if_statement "if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }" if (parenthesized_expression "((uint)piVar16[0x3a] < (uint)piVar16[0x3b])" ( (binary_expression "(uint)piVar16[0x3a] < (uint)piVar16[0x3b]" (cast_expression "(uint)piVar16[0x3a]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar16[0x3a]" identifier [ number_literal ])) < (cast_expression "(uint)piVar16[0x3b]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar16[0x3b]" identifier [ number_literal ]))) )) (compound_statement "{\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }" { (expression_statement "piVar16[0x3a] = piVar16[0x3a] + 1;" (assignment_expression "piVar16[0x3a] = piVar16[0x3a] + 1" (subscript_expression "piVar16[0x3a]" identifier [ number_literal ]) = (binary_expression "piVar16[0x3a] + 1" (subscript_expression "piVar16[0x3a]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }" if (parenthesized_expression "((*(byte *)(piVar16 + 0x3e) & 4) == 0)" ( (binary_expression "(*(byte *)(piVar16 + 0x3e) & 4) == 0" (parenthesized_expression "(*(byte *)(piVar16 + 0x3e) & 4)" ( (binary_expression "*(byte *)(piVar16 + 0x3e) & 4" (pointer_expression "*(byte *)(piVar16 + 0x3e)" * (cast_expression "(byte *)(piVar16 + 0x3e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar16 + 0x3e)" ( (binary_expression "piVar16 + 0x3e" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }" { (expression_statement "iVar12 = piVar16[0xc];" (assignment_expression "iVar12 = piVar16[0xc]" identifier = (subscript_expression "piVar16[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar16[0xd];" (assignment_expression "iVar6 = piVar16[0xd]" identifier = (subscript_expression "piVar16[0xd]" identifier [ number_literal ])) ;) (expression_statement "piVar9[5] = 0;" (assignment_expression "piVar9[5] = 0" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[4] = iVar12;" (assignment_expression "piVar9[4] = iVar12" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                piVar16[0xd] = (int)piVar9;\n              }" { (expression_statement "piVar16[0xd] = (int)piVar9;" (assignment_expression "piVar16[0xd] = (int)piVar9" (subscript_expression "piVar16[0xd]" identifier [ number_literal ]) = (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }" else (compound_statement "{\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }" { (expression_statement "*(int **)(iVar12 + 0x14) = piVar9;" (assignment_expression "*(int **)(iVar12 + 0x14) = piVar9" (pointer_expression "*(int **)(iVar12 + 0x14)" * (cast_expression "(int **)(iVar12 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar16[0xc] = (int)piVar9;" (assignment_expression "piVar16[0xc] = (int)piVar9" (subscript_expression "piVar16[0xc]" identifier [ number_literal ]) = (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "iVar12 = piVar16[2];" (assignment_expression "iVar12 = piVar16[2]" identifier = (subscript_expression "piVar16[2]" identifier [ number_literal ])) ;) (expression_statement "piVar8 = (int *)piVar16[3];" (assignment_expression "piVar8 = (int *)piVar16[3]" identifier = (cast_expression "(int *)piVar16[3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[3]" identifier [ number_literal ]))) ;) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[2] = iVar12;" (assignment_expression "piVar9[2] = iVar12" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              piVar16[3] = (int)piVar9;\n            }" { (expression_statement "piVar16[3] = (int)piVar9;" (assignment_expression "piVar16[3] = (int)piVar9" (subscript_expression "piVar16[3]" identifier [ number_literal ]) = (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }" else (compound_statement "{\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }" { (expression_statement "*(int **)(iVar12 + 0xc) = piVar9;" (assignment_expression "*(int **)(iVar12 + 0xc) = piVar9" (pointer_expression "*(int **)(iVar12 + 0xc)" * (cast_expression "(int **)(iVar12 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar16[2] = (int)piVar9;" (assignment_expression "piVar16[2] = (int)piVar9" (subscript_expression "piVar16[2]" identifier [ number_literal ]) = (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x10)" * (cast_expression "(undefined4 *)(puVar20 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1acda;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1acda" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) goto LAB_0001b5fd;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b5fd;" goto statement_identifier ;)) (expression_statement "pcVar2 = (code *)piVar16[0x14];" (assignment_expression "pcVar2 = (code *)piVar16[0x14]" identifier = (cast_expression "(code *)piVar16[0x14]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[0x14]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }" if (parenthesized_expression "(pcVar2 != (code *)0x0)" ( (binary_expression "pcVar2 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar20 + -8) = piVar9 + 0xc;" (assignment_expression "*(int **)(puVar20 + -8) = piVar9 + 0xc" (pointer_expression "*(int **)(puVar20 + -8)" * (cast_expression "(int **)(puVar20 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (binary_expression "piVar9 + 0xc" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0xc) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0xc) = piVar9" (pointer_expression "*(int **)(puVar20 + -0xc)" * (cast_expression "(int **)(puVar20 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x15];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x15]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar16[0x15]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1acf8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1acf8" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "uVar3 = piVar16[0x3e];" (assignment_expression "uVar3 = piVar16[0x3e]" identifier = (subscript_expression "piVar16[0x3e]" identifier [ number_literal ])) ;) (if_statement "if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }" if (parenthesized_expression "((uVar3 & 4) == 0)" ( (binary_expression "(uVar3 & 4) == 0" (parenthesized_expression "(uVar3 & 4)" ( (binary_expression "uVar3 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }" { (expression_statement "iVar12 = piVar16[0x24];" (assignment_expression "iVar12 = piVar16[0x24]" identifier = (subscript_expression "piVar16[0x24]" identifier [ number_literal ])) ;) (expression_statement "piVar9[0x16] = piVar16[0x23];" (assignment_expression "piVar9[0x16] = piVar16[0x23]" (subscript_expression "piVar9[0x16]" identifier [ number_literal ]) = (subscript_expression "piVar16[0x23]" identifier [ number_literal ])) ;) (expression_statement "piVar9[0x17] = iVar12;" (assignment_expression "piVar9[0x17] = iVar12" (subscript_expression "piVar9[0x17]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }" else (compound_statement "{\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }" { (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;" (assignment_expression "*(int *)(puVar20 + -0x14) = iVar4 + 0x1e35" (pointer_expression "*(int *)(puVar20 + -0x14)" * (cast_expression "(int *)(puVar20 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1e35" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x18) = piVar16[0x21];" (assignment_expression "*(int *)(puVar20 + -0x18) = piVar16[0x21]" (pointer_expression "*(int *)(puVar20 + -0x18)" * (cast_expression "(int *)(puVar20 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x18)" ( (binary_expression "puVar20 + -0x18" identifier + number_literal) )))) = (subscript_expression "piVar16[0x21]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;" (assignment_expression "*(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8" (pointer_expression "*(int *)(puVar20 + -0x1c)" * (cast_expression "(int *)(puVar20 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x1c)" ( (binary_expression "puVar20 + -0x1c" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x106b8" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x20) = piVar9 + 0x16;" (assignment_expression "*(int **)(puVar20 + -0x20) = piVar9 + 0x16" (pointer_expression "*(int **)(puVar20 + -0x20)" * (cast_expression "(int **)(puVar20 + -0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x20)" ( (binary_expression "puVar20 + -0x20" identifier + number_literal) )))) = (binary_expression "piVar9 + 0x16" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;" (assignment_expression "*(undefined4 *)(puVar20 + -0x24) = 0x1b2fe" (pointer_expression "*(undefined4 *)(puVar20 + -0x24)" * (cast_expression "(undefined4 *)(puVar20 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x24)" ( (binary_expression "puVar20 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = FUN_00023b50();" (assignment_expression "iVar12 = FUN_00023b50()" identifier = (call_expression "FUN_00023b50()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b4b0;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b4b0" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar8 = (int *)*piVar8;" (assignment_expression "piVar8 = (int *)*piVar8" identifier = (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b4bb" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" * (cast_expression "(char **)(puVar20 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;" (assignment_expression "*(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression ""gnutls_malloc" + iVar4 + 0xb" (binary_expression ""gnutls_malloc" + iVar4" (string_literal ""gnutls_malloc"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b4cc" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001b19b;" goto statement_identifier ;) })) (expression_statement "uVar3 = piVar16[0x3e];" (assignment_expression "uVar3 = piVar16[0x3e]" identifier = (subscript_expression "piVar16[0x3e]" identifier [ number_literal ])) ;) }))) (if_statement "if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" if (parenthesized_expression "((uVar3 & 0x200) == 0)" ( (binary_expression "(uVar3 & 0x200) == 0" (parenthesized_expression "(uVar3 & 0x200)" ( (binary_expression "uVar3 & 0x200" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" { (if_statement "if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }" if (parenthesized_expression "((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1))" ( (binary_expression "(((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)" (parenthesized_expression "(((uVar3 & 4) == 0) && (puVar20[0x14] != '\0'))" ( (binary_expression "((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')" (parenthesized_expression "((uVar3 & 4) == 0)" ( (binary_expression "(uVar3 & 4) == 0" (parenthesized_expression "(uVar3 & 4)" ( (binary_expression "uVar3 & 4" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(puVar20[0x14] != '\0')" ( (binary_expression "puVar20[0x14] != '\0'" (subscript_expression "puVar20[0x14]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(iVar12 = piVar16[0x37], iVar12 != -1)" ( (comma_expression "iVar12 = piVar16[0x37], iVar12 != -1" (assignment_expression "iVar12 = piVar16[0x37]" identifier = (subscript_expression "piVar16[0x37]" identifier [ number_literal ])) , (binary_expression "iVar12 != -1" identifier != number_literal)) ))) )) (compound_statement "{\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }" { (expression_statement "*(undefined4 *)(puVar20 + -8) = 8;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 8" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x11e05" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x11e05" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar20 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b423;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b423" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));" (assignment_expression "sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8))" identifier = (call_expression "write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8))" identifier (argument_list "(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar20 + -0xc)" * (cast_expression "(void **)(puVar20 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar20 + -8)" * (cast_expression "(size_t *)(puVar20 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }" if (parenthesized_expression "(sVar11 < 1)" ( (binary_expression "sVar11 < 1" identifier < number_literal) )) (compound_statement "{\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b433;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b433" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }" if (parenthesized_expression "(*piVar13 != 0xb)" ( (binary_expression "*piVar13 != 0xb" (pointer_expression "*piVar13" * identifier) != number_literal) )) (compound_statement "{\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = extraout_EDX_00;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = extraout_EDX_00" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = extraout_EDX_00;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = extraout_EDX_00" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;" (assignment_expression "*(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression ""gnutls_dh_params_init" + iVar4 + 0xb" (binary_expression ""gnutls_dh_params_init" + iVar4" (string_literal ""gnutls_dh_params_init"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b44b;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b44b" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) })) })) })) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (if_statement "if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" if (parenthesized_expression "(((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0'))" ( (binary_expression "((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')" (parenthesized_expression "((uVar3 & 0x1000) != 0)" ( (binary_expression "(uVar3 & 0x1000) != 0" (parenthesized_expression "(uVar3 & 0x1000)" ( (binary_expression "uVar3 & 0x1000" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(puVar20[0x14] == '\0')" ( (binary_expression "puVar20[0x14] == '\0'" (subscript_expression "puVar20[0x14]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" { (expression_statement "iVar4 = piVar16[8];" (assignment_expression "iVar4 = piVar16[8]" identifier = (subscript_expression "piVar16[8]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = piVar16[9];" (assignment_expression "iVar12 = piVar16[9]" identifier = (subscript_expression "piVar16[9]" identifier [ number_literal ])) ;) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x2c] = piVar9[0x2c] | 7;" (assignment_expression "piVar9[0x2c] = piVar9[0x2c] | 7" (subscript_expression "piVar9[0x2c]" identifier [ number_literal ]) = (binary_expression "piVar9[0x2c] | 7" (subscript_expression "piVar9[0x2c]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*piVar9 = iVar4;" (assignment_expression "*piVar9 = iVar4" (pointer_expression "*piVar9" * identifier) = identifier) ;) (if_statement "if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n                piVar16[9] = (int)piVar9;\n              }" { (expression_statement "piVar16[9] = (int)piVar9;" (assignment_expression "piVar16[9] = (int)piVar9" (subscript_expression "piVar16[9]" identifier [ number_literal ]) = (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }" else (compound_statement "{\n                *(int **)(iVar4 + 4) = piVar9;\n              }" { (expression_statement "*(int **)(iVar4 + 4) = piVar9;" (assignment_expression "*(int **)(iVar4 + 4) = piVar9" (pointer_expression "*(int **)(iVar4 + 4)" * (cast_expression "(int **)(iVar4 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar16[8] = (int)piVar9;" (assignment_expression "piVar16[8] = (int)piVar9" (subscript_expression "piVar16[8]" identifier [ number_literal ]) = (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar20 + 0x20) = 0x80000007;" (assignment_expression "*(undefined4 *)(puVar20 + 0x20) = 0x80000007" (pointer_expression "*(undefined4 *)(puVar20 + 0x20)" * (cast_expression "(undefined4 *)(puVar20 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x20)" ( (binary_expression "puVar20 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar20 + 0x24) = piVar9;" (assignment_expression "*(int **)(puVar20 + 0x24) = piVar9" (pointer_expression "*(int **)(puVar20 + 0x24)" * (cast_expression "(int **)(puVar20 + 0x24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x24)" ( (binary_expression "puVar20 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;" (assignment_expression "*(undefined1 **)(puVar20 + -4) = puVar20 + 0x20" (pointer_expression "*(undefined1 **)(puVar20 + -4)" * (cast_expression "(undefined1 **)(puVar20 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "puVar20 + 0x20" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x33];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x33]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar16[0x33]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b336;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b336" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));" (assignment_expression "iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4))" identifier = (call_expression "epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4))" identifier (argument_list "(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar20 + -8)" * (cast_expression "(int *)(puVar20 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) , (pointer_expression "*(epoll_event **)(puVar20 + -4)" * (cast_expression "(epoll_event **)(puVar20 + -4)" ( (type_descriptor "epoll_event **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" { (expression_statement "piVar9[0x2c] = piVar9[0x2c] | 8;" (assignment_expression "piVar9[0x2c] = piVar9[0x2c] | 8" (subscript_expression "piVar9[0x2c]" identifier [ number_literal ]) = (binary_expression "piVar9[0x2c] | 8" (subscript_expression "piVar9[0x2c]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b487;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b487" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar8 = (int *)*piVar8;" (assignment_expression "piVar8 = (int *)*piVar8" identifier = (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b492;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b492" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" * (cast_expression "(char **)(puVar20 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0xf750;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0xf750" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf750" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b4a3" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];" statement_identifier : (expression_statement "pcVar2 = (code *)piVar16[0x14];" (assignment_expression "pcVar2 = (code *)piVar16[0x14]" identifier = (cast_expression "(code *)piVar16[0x14]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[0x14]" identifier [ number_literal ]))) ;)) (if_statement "if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }" if (parenthesized_expression "(pcVar2 != (code *)0x0)" ( (binary_expression "pcVar2 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar20 + -8) = piVar9 + 0xc;" (assignment_expression "*(int **)(puVar20 + -8) = piVar9 + 0xc" (pointer_expression "*(int **)(puVar20 + -8)" * (cast_expression "(int **)(puVar20 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (binary_expression "piVar9 + 0xc" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0xc) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0xc) = piVar9" (pointer_expression "*(int **)(puVar20 + -0xc)" * (cast_expression "(int **)(puVar20 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x15];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x15]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar16[0x15]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b1ae" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) })) (if_statement "if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }" if (parenthesized_expression "(piVar9[0x38] != 0)" ( (binary_expression "piVar9[0x38] != 0" (subscript_expression "piVar9[0x38]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }" { (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b1c4" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_deinit();" (call_expression "gnutls_deinit()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b1d3" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" identifier = (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b1df;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b1df" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar13 == 9) goto LAB_0001b500;" if (parenthesized_expression "(*piVar13 == 9)" ( (binary_expression "*piVar13 == 9" (pointer_expression "*piVar13" * identifier) == number_literal) )) (goto_statement "goto LAB_0001b500;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b1f7;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b1f7" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x10)" * (cast_expression "(undefined4 *)(puVar20 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b203;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b203" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) goto LAB_0001b5de;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b5de;" goto statement_identifier ;)) (if_statement "if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }" if (parenthesized_expression "((*(byte *)(piVar16 + 0x3e) & 4) == 0)" ( (binary_expression "(*(byte *)(piVar16 + 0x3e) & 4) == 0" (parenthesized_expression "(*(byte *)(piVar16 + 0x3e) & 4)" ( (binary_expression "*(byte *)(piVar16 + 0x3e) & 4" (pointer_expression "*(byte *)(piVar16 + 0x3e)" * (cast_expression "(byte *)(piVar16 + 0x3e)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar16 + 0x3e)" ( (binary_expression "piVar16 + 0x3e" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }" { (expression_statement "iVar12 = piVar9[4];" (assignment_expression "iVar12 = piVar9[4]" identifier = (subscript_expression "piVar9[4]" identifier [ number_literal ])) ;) (if_statement "if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }" if (parenthesized_expression "(piVar9[5] == 0)" ( (binary_expression "piVar9[5] == 0" (subscript_expression "piVar9[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }" { (expression_statement "piVar16[0xc] = iVar12;" (assignment_expression "piVar16[0xc] = iVar12" (subscript_expression "piVar16[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }" else (compound_statement "{\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }" { (expression_statement "*(int *)(piVar9[5] + 0x10) = iVar12;" (assignment_expression "*(int *)(piVar9[5] + 0x10) = iVar12" (pointer_expression "*(int *)(piVar9[5] + 0x10)" * (cast_expression "(int *)(piVar9[5] + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9[5] + 0x10)" ( (binary_expression "piVar9[5] + 0x10" (subscript_expression "piVar9[5]" identifier [ number_literal ]) + number_literal) )))) = identifier) ;) (expression_statement "iVar12 = piVar9[4];" (assignment_expression "iVar12 = piVar9[4]" identifier = (subscript_expression "piVar9[4]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar9[5];" (assignment_expression "iVar6 = piVar9[5]" identifier = (subscript_expression "piVar9[5]" identifier [ number_literal ])) ;) }))) (if_statement "if (iVar12 == 0) goto LAB_0001b472;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001b472;" goto statement_identifier ;)) (expression_statement "*(int *)(iVar12 + 0x14) = iVar6;" (assignment_expression "*(int *)(iVar12 + 0x14) = iVar6" (pointer_expression "*(int *)(iVar12 + 0x14)" * (cast_expression "(int *)(iVar12 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x14)" ( (binary_expression "iVar12 + 0x14" identifier + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0001b239:\n              piVar9[4] = 0;" statement_identifier : (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "piVar9[5] = 0;" (assignment_expression "piVar9[5] = 0" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "iVar12 = piVar9[2];" (assignment_expression "iVar12 = piVar9[2]" identifier = (subscript_expression "piVar9[2]" identifier [ number_literal ])) ;) (if_statement "if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }" if (parenthesized_expression "(piVar9[3] == 0)" ( (binary_expression "piVar9[3] == 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }" { (expression_statement "piVar16[2] = iVar12;" (assignment_expression "piVar16[2] = iVar12" (subscript_expression "piVar16[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }" else (compound_statement "{\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }" { (expression_statement "*(int *)(piVar9[3] + 8) = iVar12;" (assignment_expression "*(int *)(piVar9[3] + 8) = iVar12" (pointer_expression "*(int *)(piVar9[3] + 8)" * (cast_expression "(int *)(piVar9[3] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9[3] + 8)" ( (binary_expression "piVar9[3] + 8" (subscript_expression "piVar9[3]" identifier [ number_literal ]) + number_literal) )))) = identifier) ;) (expression_statement "iVar12 = piVar9[2];" (assignment_expression "iVar12 = piVar9[2]" identifier = (subscript_expression "piVar9[2]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar9[3];" (assignment_expression "iVar6 = piVar9[3]" identifier = (subscript_expression "piVar9[3]" identifier [ number_literal ])) ;) }))) (if_statement "if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              piVar16[3] = iVar6;\n            }" { (expression_statement "piVar16[3] = iVar6;" (assignment_expression "piVar16[3] = iVar6" (subscript_expression "piVar16[3]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }" else (compound_statement "{\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }" { (expression_statement "*(int *)(iVar12 + 0xc) = iVar6;" (assignment_expression "*(int *)(iVar12 + 0xc) = iVar6" (pointer_expression "*(int *)(iVar12 + 0xc)" * (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x10)" * (cast_expression "(undefined4 *)(puVar20 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b283;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b283" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }" { (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[10];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[10]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b299;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b299" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00021a90();" (call_expression "FUN_00021a90()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x15];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x15]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x15]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b2a2" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b2aa" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b2af;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b2af" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }" { (expression_statement "*piVar13 = 0x16;" (assignment_expression "*piVar13 = 0x16" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) }) (else_clause "else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }" else (compound_statement "{\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }" { (expression_statement "*piVar13 = (int)piVar8;" (assignment_expression "*piVar13 = (int)piVar8" (pointer_expression "*piVar13" * identifier) = (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) }) (else_clause "else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }" else (compound_statement "{\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }" { (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x10)" * (cast_expression "(undefined4 *)(puVar20 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x10)" ( (binary_expression "puVar20 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b178;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b178" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }" { (expression_statement "piVar8 = (int *)0x17;" (assignment_expression "piVar8 = (int *)0x17" identifier = (cast_expression "(int *)0x17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;" (assignment_expression "*(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression ""__fdelt_chk" + iVar4 + 7" (binary_expression ""__fdelt_chk" + iVar4" (string_literal ""__fdelt_chk"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b198;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b198" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001b19b;" goto statement_identifier ;) })) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf639;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf639" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf639" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x9ea;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x9ea" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b500;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b500" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar21 + -4)" * (cast_expression "(int *)(puVar21 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0xa56;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0xa56" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" identifier = (binary_expression "puVar21 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b51f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b51f" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) }))) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf639;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf639" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf639" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xa67;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xa67" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b53e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b53e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001b53e;" goto statement_identifier ;) })) (expression_statement "piVar9[0x3b] = 1;" (assignment_expression "piVar9[0x3b] = 1" (subscript_expression "piVar9[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af9c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af9c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000296b0();" (call_expression "FUN_000296b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 0x49;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 0x49" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9 + 0x38;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9 + 0x38" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (binary_expression "piVar9 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1afac;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1afac" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_init();" (call_expression "gnutls_init()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar20 + -0xc) = piVar16[0x43];" (assignment_expression "*(int *)(puVar20 + -0xc) = piVar16[0x43]" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (subscript_expression "piVar16[0x43]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1afbf;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1afbf" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_priority_set();" (call_expression "gnutls_priority_set()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = *(int **)(puVar20 + -0xc);" (assignment_expression "piVar8 = *(int **)(puVar20 + -0xc)" identifier = (pointer_expression "*(int **)(puVar20 + -0xc)" * (cast_expression "(int **)(puVar20 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(puVar20 + -0xc) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0xc) = piVar9" (pointer_expression "*(int **)(puVar20 + -0xc)" * (cast_expression "(int **)(puVar20 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1afcd;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1afcd" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_session_set_ptr();" (call_expression "gnutls_session_set_ptr()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar12 = piVar16[0x44];" (assignment_expression "iVar12 = piVar16[0x44]" identifier = (subscript_expression "piVar16[0x44]" identifier [ number_literal ])) ;) (if_statement "if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }" if (parenthesized_expression "(iVar12 == 1)" ( (binary_expression "iVar12 == 1" identifier == number_literal) )) (compound_statement "{\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }" { (expression_statement "*(int *)(puVar20 + -8) = piVar16[0x45];" (assignment_expression "*(int *)(puVar20 + -8) = piVar16[0x45]" (pointer_expression "*(int *)(puVar20 + -8)" * (cast_expression "(int *)(puVar20 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (subscript_expression "piVar16[0x45]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b3dd" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_credentials_set();" (call_expression "gnutls_credentials_set()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);" statement_identifier : (expression_statement "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b39e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b39e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_transport_set_int2();" (call_expression "gnutls_transport_set_int2()" identifier (argument_list "()" ( ))) ;) (if_statement "if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }" if (parenthesized_expression "(piVar16[0x4e] != 0)" ( (binary_expression "piVar16[0x4e] != 0" (subscript_expression "piVar16[0x4e]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }" { (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b3bf" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_certificate_server_set_request();" (call_expression "gnutls_certificate_server_set_request()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0001ac50;" goto statement_identifier ;) })) (if_statement "if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }" if (parenthesized_expression "(iVar12 == 4)" ( (binary_expression "iVar12 == 4" identifier == number_literal) )) (compound_statement "{\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }" { (expression_statement "*(int *)(puVar20 + -8) = piVar16[0x47];" (assignment_expression "*(int *)(puVar20 + -8) = piVar16[0x47]" (pointer_expression "*(int *)(puVar20 + -8)" * (cast_expression "(int *)(puVar20 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (subscript_expression "piVar16[0x47]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 4;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 4" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" * (cast_expression "(undefined4 *)(puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x38]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b373;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b373" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_credentials_set();" (call_expression "gnutls_credentials_set()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + -0xcbb" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + -0xcbb" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x47];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x47]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar16[0x47]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b387;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b387" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "gnutls_psk_set_server_credentials_function();" (call_expression "gnutls_psk_set_server_credentials_function()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001b38a;" goto statement_identifier ;) })) (expression_statement "*(int *)(puVar20 + -8) = iVar12;" (assignment_expression "*(int *)(puVar20 + -8) = iVar12" (pointer_expression "*(int *)(puVar20 + -8)" * (cast_expression "(int *)(puVar20 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;" (assignment_expression "*(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression ""gnutls_record_check_pending" + iVar4 + 5" (binary_expression ""gnutls_record_check_pending" + iVar4" (string_literal ""gnutls_record_check_pending"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[6];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[6]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[6]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1affb;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1affb" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = *(int **)(puVar20 + -0x10);" (assignment_expression "piVar8 = *(int **)(puVar20 + -0x10)" identifier = (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 8)" * (cast_expression "(undefined4 *)(puVar20 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b005;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b005" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" identifier = (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b011;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b011" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar13 != 9) goto LAB_0001b01a;" if (parenthesized_expression "(*piVar13 != 9)" ( (binary_expression "*piVar13 != 9" (pointer_expression "*piVar13" * identifier) != number_literal) )) (goto_statement "goto LAB_0001b01a;" goto statement_identifier ;)) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x9c3;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x9c3" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b472;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b472" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar6 = extraout_EDX_01;" (assignment_expression "iVar6 = extraout_EDX_01" identifier = identifier) ;) (labeled_statement "LAB_0001b472:\n          piVar16[0xd] = iVar6;" statement_identifier : (expression_statement "piVar16[0xd] = iVar6;" (assignment_expression "piVar16[0xd] = iVar6" (subscript_expression "piVar16[0xd]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" identifier = identifier) ;) (goto_statement "goto LAB_0001b239;" goto statement_identifier ;) })) (labeled_statement "LAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;" statement_identifier : (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b029;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b029" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x15];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x15]" (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar9[0x15]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b034;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b034" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b03c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b03c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "*(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;" (assignment_expression "*(int *)(puVar20 + -0x14) = iVar4 + 0x106a0" (pointer_expression "*(int *)(puVar20 + -0x14)" * (cast_expression "(int *)(puVar20 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x106a0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x18) = 0x9c9;" (assignment_expression "*(undefined4 *)(puVar20 + -0x18) = 0x9c9" (pointer_expression "*(undefined4 *)(puVar20 + -0x18)" * (cast_expression "(undefined4 *)(puVar20 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x18)" ( (binary_expression "puVar20 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0x1c) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0x1c)" * (cast_expression "(int *)(puVar20 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x1c)" ( (binary_expression "puVar20 + -0x1c" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x20)" * (cast_expression "(undefined4 *)(puVar20 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x20)" ( (binary_expression "puVar20 + -0x20" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x24) = 0x1b05b;" (assignment_expression "*(undefined4 *)(puVar20 + -0x24) = 0x1b05b" (pointer_expression "*(undefined4 *)(puVar20 + -0x24)" * (cast_expression "(undefined4 *)(puVar20 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x24)" ( (binary_expression "puVar20 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = (int *)(*pcVar2)();" (assignment_expression "piVar13 = (int *)(*pcVar2)()" identifier = (cast_expression "(int *)(*pcVar2)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar20 = puVar20 + -0x20;" (assignment_expression "puVar20 = puVar20 + -0x20" identifier = (binary_expression "puVar20 + -0x20" identifier + number_literal)) ;) (labeled_statement "LAB_0001b05b:\n        *piVar13 = 2;" statement_identifier : (expression_statement "*piVar13 = 2;" (assignment_expression "*piVar13 = 2" (pointer_expression "*piVar13" * identifier) = number_literal) ;)) (expression_statement "piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);" (assignment_expression "piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4)" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (pointer_expression "*(int *)(*(int *)(puVar20 + 0xc) + 4)" * (cast_expression "(int *)(*(int *)(puVar20 + 0xc) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar20 + 0xc) + 4)" ( (binary_expression "*(int *)(puVar20 + 0xc) + 4" (pointer_expression "*(int *)(puVar20 + 0xc)" * (cast_expression "(int *)(puVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0xc)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar13 = piVar9;" (assignment_expression "piVar13 = piVar9" identifier = identifier) ;) (labeled_statement "LAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;" statement_identifier : (expression_statement "*(int **)(puVar20 + 0x18) = piVar8 + 0x25;" (assignment_expression "*(int **)(puVar20 + 0x18) = piVar8 + 0x25" (pointer_expression "*(int **)(puVar20 + 0x18)" * (cast_expression "(int **)(puVar20 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x18)" ( (binary_expression "puVar20 + 0x18" identifier + number_literal) )))) = (binary_expression "piVar8 + 0x25" identifier + number_literal)) ;)) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8 + 0x25;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8 + 0x25" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (binary_expression "piVar8 + 0x25" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b07e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b07e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "piVar9 = piVar13;" (assignment_expression "piVar9 = piVar13" identifier = identifier) ;) (if_statement "if (iVar12 != 0) goto LAB_0001b5ba;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b5ba;" goto statement_identifier ;)) (expression_statement "*(int *)(puVar20 + -8) = iVar4 + -0xceb;" (assignment_expression "*(int *)(puVar20 + -8) = iVar4 + -0xceb" (pointer_expression "*(int *)(puVar20 + -8)" * (cast_expression "(int *)(puVar20 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = (binary_expression "iVar4 + -0xceb" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0xc) = piVar8 + 0x1e;" (assignment_expression "*(int **)(puVar20 + -0xc) = piVar8 + 0x1e" (pointer_expression "*(int **)(puVar20 + -0xc)" * (cast_expression "(int **)(puVar20 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "piVar8 + 0x1e" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b09d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b09d" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));" (assignment_expression "puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8))" identifier = (cast_expression "(undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8))" identifier (argument_list "(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void ***)(puVar20 + -0xc)" * (cast_expression "(void ***)(puVar20 + -0xc)" ( (type_descriptor "void ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(__compar_fn_t *)(puVar20 + -8)" * (cast_expression "(__compar_fn_t *)(puVar20 + -8)" ( (type_descriptor "__compar_fn_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) ))))) ;) (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" identifier = identifier) ;) (if_statement "if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }" if (parenthesized_expression "(puVar5 == (undefined4 *)0x0)" ( (binary_expression "puVar5 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }" { (expression_statement "*(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;" (assignment_expression "*(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression ""gnutls_record_get_direction" + iVar4 + 10" (binary_expression ""gnutls_record_get_direction" + iVar4" (string_literal ""gnutls_record_get_direction"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b120;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b120" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x18)" * (cast_expression "(undefined4 *)(puVar20 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x18)" ( (binary_expression "puVar20 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b12a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b12a" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }" { (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b13a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b13a" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001ab0a;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "piVar7 = (int *)*puVar5;" (assignment_expression "piVar7 = (int *)*puVar5" identifier = (cast_expression "(int *)*puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (if_statement "if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }" if (parenthesized_expression "(piVar13 != piVar7)" ( (binary_expression "piVar13 != piVar7" identifier != identifier) )) (compound_statement "{\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }" { (expression_statement "*(int **)(puVar20 + 0x1c) = piVar7;" (assignment_expression "*(int **)(puVar20 + 0x1c) = piVar7" (pointer_expression "*(int **)(puVar20 + 0x1c)" * (cast_expression "(int **)(puVar20 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1c)" ( (binary_expression "puVar20 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b0b7" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" identifier (argument_list "(*(void **)(puVar20 + -0x10))" ( (pointer_expression "*(void **)(puVar20 + -0x10)" * (cast_expression "(void **)(puVar20 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "piVar7 = *(int **)(puVar20 + 0x1c);" (assignment_expression "piVar7 = *(int **)(puVar20 + 0x1c)" identifier = (pointer_expression "*(int **)(puVar20 + 0x1c)" * (cast_expression "(int **)(puVar20 + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 0x1c)" ( (binary_expression "puVar20 + 0x1c" identifier + number_literal) ))))) ;) })) (if_statement "if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;" if (parenthesized_expression "((uint)piVar8[0x3d] <= (uint)piVar7[5])" ( (binary_expression "(uint)piVar8[0x3d] <= (uint)piVar7[5]" (cast_expression "(uint)piVar8[0x3d]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[0x3d]" identifier [ number_literal ])) <= (cast_expression "(uint)piVar7[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar7[5]" identifier [ number_literal ]))) )) (goto_statement "goto LAB_0001b0f0;" goto statement_identifier ;)) (expression_statement "piVar7[5] = piVar7[5] + 1;" (assignment_expression "piVar7[5] = piVar7[5] + 1" (subscript_expression "piVar7[5]" identifier [ number_literal ]) = (binary_expression "piVar7[5] + 1" (subscript_expression "piVar7[5]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x18)" * (cast_expression "(undefined4 *)(puVar20 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x18)" ( (binary_expression "puVar20 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b0db;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b0db" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) }) while (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) ;) (do_statement "do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);" do (compound_statement "{\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b0eb;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b0eb" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a660();" (call_expression "FUN_0001a660()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);" statement_identifier : (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar20 + 0x18)" * (cast_expression "(undefined4 *)(puVar20 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 0x18)" ( (binary_expression "puVar20 + 0x18" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b0fc" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) )))) ;) }) while (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) ;) })) (labeled_statement "LAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;" statement_identifier : (expression_statement "*(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;" (assignment_expression "*(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression ""__fdelt_chk" + iVar4 + 7" (binary_expression ""__fdelt_chk" + iVar4" (string_literal ""__fdelt_chk"" " string_content ") + identifier) + number_literal)) ;)) (expression_statement "*(int **)(puVar21 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar21 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar21 + -0x10)" * (cast_expression "(int **)(puVar21 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1ab1a" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + 8)" * (cast_expression "(undefined4 *)(puVar21 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 8)" ( (binary_expression "puVar21 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1ab24;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1ab24" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar16 = (int *)close(*(int *)(puVar21 + -0x10));" (assignment_expression "piVar16 = (int *)close(*(int *)(puVar21 + -0x10))" identifier = (cast_expression "(int *)close(*(int *)(puVar21 + -0x10))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "close(*(int *)(puVar21 + -0x10))" identifier (argument_list "(*(int *)(puVar21 + -0x10))" ( (pointer_expression "*(int *)(puVar21 + -0x10)" * (cast_expression "(int *)(puVar21 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1ab2b" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;" if (parenthesized_expression "((piVar16 == (int *)0x0) || (*piVar7 != 9))" ( (binary_expression "(piVar16 == (int *)0x0) || (*piVar7 != 9)" (parenthesized_expression "(piVar16 == (int *)0x0)" ( (binary_expression "piVar16 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar7 != 9)" ( (binary_expression "*piVar7 != 9" (pointer_expression "*piVar7" * identifier) != number_literal) ))) )) (goto_statement "goto LAB_0001ab3b;" goto statement_identifier ;)) (labeled_statement "LAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar21 + -4)" * (cast_expression "(int *)(puVar21 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0x93d;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0x93d" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" identifier = (binary_expression "puVar21 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b55d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b55d" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar13 = piVar9;" (assignment_expression "piVar13 = piVar9" identifier = identifier) ;) (labeled_statement "LAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x950;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x950" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b57c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b57c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar20 + -0x10;" (assignment_expression "puVar20 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (labeled_statement "LAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x962;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x962" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b59b;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b59b" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) }) (else_clause "else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }" else (compound_statement "{\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x400;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x400" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = *(int **)(puVar20 + 8);" (assignment_expression "piVar8 = *(int **)(puVar20 + 8)" identifier = (pointer_expression "*(int **)(puVar20 + 8)" * (cast_expression "(int **)(puVar20 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + 8)" ( (binary_expression "puVar20 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(puVar20 + -8) = piVar8;" (assignment_expression "*(int **)(puVar20 + -8) = piVar8" (pointer_expression "*(int **)(puVar20 + -8)" * (cast_expression "(int **)(puVar20 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;" (assignment_expression "*(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression ""pthread_self" + iVar4 + 10" (binary_expression ""pthread_self" + iVar4" (string_literal ""pthread_self"" " string_content ") + identifier) + number_literal)) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1adc7;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1adc7" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x10)" * (cast_expression "(int **)(puVar20 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1adcf;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1adcf" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar16 = (int *)close(*(int *)(puVar20 + -0x10));" (assignment_expression "piVar16 = (int *)close(*(int *)(puVar20 + -0x10))" identifier = (cast_expression "(int *)close(*(int *)(puVar20 + -0x10))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "close(*(int *)(puVar20 + -0x10))" identifier (argument_list "(*(int *)(puVar20 + -0x10))" ( (pointer_expression "*(int *)(puVar20 + -0x10)" * (cast_expression "(int *)(puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1add6;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1add6" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }" if (parenthesized_expression "((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9))" ( (binary_expression "(piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)" (parenthesized_expression "(piVar16 == (int *)0x0)" ( (binary_expression "piVar16 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(puVar21 = puVar20, *piVar7 != 9)" ( (comma_expression "puVar21 = puVar20, *piVar7 != 9" (assignment_expression "puVar21 = puVar20" identifier = identifier) , (binary_expression "*piVar7 != 9" (pointer_expression "*piVar7" * identifier) != number_literal)) ))) )) (compound_statement "{\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }" { (expression_statement "*piVar7 = 0x16;" (assignment_expression "*piVar7 = 0x16" (pointer_expression "*piVar7" * identifier) = number_literal) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001ab43;" goto statement_identifier ;) })) })))) (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar21 + -4)" * (cast_expression "(int *)(puVar21 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0x912;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0x912" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" identifier = (binary_expression "puVar21 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b5ba" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar9 = piVar13;" (assignment_expression "piVar9 = piVar13" identifier = identifier) ;) (labeled_statement "LAB_0001b5ba:\n  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;" statement_identifier : (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b5bf;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b5bf" (pointer_expression "*(undefined4 *)(puVar20 + -4)" * (cast_expression "(undefined4 *)(puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_0001a630();" (call_expression "FUN_0001a630()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" identifier = identifier) ;) (labeled_statement "LAB_0001b5bf:\n  *(int *)(puVar21 + -4) = iVar4 + 0xf615;" statement_identifier : (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0xf615;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0xf615" (pointer_expression "*(int *)(puVar21 + -4)" * (cast_expression "(int *)(puVar21 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf615" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0x9e4;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0x9e4" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" identifier = (binary_expression "puVar21 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b5de;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b5de" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001b5de:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf615;" statement_identifier : (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf615;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf615" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf615" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xa5b;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xa5b" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b5fd" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar20 + -0x10;" (assignment_expression "puVar20 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (labeled_statement "LAB_0001b5fd:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf639;" statement_identifier : (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf639;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf639" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf639" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xa01;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xa01" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b61c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b61c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar20 + -0x10;" (assignment_expression "puVar20 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (labeled_statement "LAB_0001b61c:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x985;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x985" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b63b;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b63b" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar20 = puVar20 + -0x10;" (assignment_expression "puVar20 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (labeled_statement "LAB_0001b63b:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;" statement_identifier : (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x1066d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x971;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x971" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10659" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" * (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1a67d)" ( (binary_expression "iVar4 + 0x1a67d" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" identifier = (pointer_expression "*(code **)(iVar4 + 0x1a681)" * (cast_expression "(code **)(iVar4 + 0x1a681)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x1a681)" ( (binary_expression "iVar4 + 0x1a681" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b65a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b65a" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = (*pcVar2)();" (assignment_expression "iVar12 = (*pcVar2)()" identifier = (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "*(int **)(puVar20 + -0x14) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x14) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x14)" * (cast_expression "(int **)(puVar20 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar20 + -0x18) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x18) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x18)" * (cast_expression "(int **)(puVar20 + -0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x18)" ( (binary_expression "puVar20 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar20 + -0x1c) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x1c) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x1c)" * (cast_expression "(int **)(puVar20 + -0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x1c)" ( (binary_expression "puVar20 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;" (assignment_expression "*(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4" (pointer_expression "*(undefined **)(puVar20 + -0x20)" * (cast_expression "(undefined **)(puVar20 + -0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x20)" ( (binary_expression "puVar20 + -0x20" identifier + number_literal) )))) = (binary_expression "&UNK_0001a3f5 + iVar4" (pointer_expression "&UNK_0001a3f5" & identifier) + identifier)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x24) = 0x1b66d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x24) = 0x1b66d" (pointer_expression "*(undefined4 *)(puVar20 + -0x24)" * (cast_expression "(undefined4 *)(puVar20 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x24)" ( (binary_expression "puVar20 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = *(int *)(puVar20 + -0x24);" (assignment_expression "iVar4 = *(int *)(puVar20 + -0x24)" identifier = (pointer_expression "*(int *)(puVar20 + -0x24)" * (cast_expression "(int *)(puVar20 + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x24)" ( (binary_expression "puVar20 + -0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar20 + -0x30)" * (cast_expression "(undefined4 *)(puVar20 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x30)" ( (binary_expression "puVar20 + -0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x50) = 0x1c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x50) = 0x1c" (pointer_expression "*(undefined4 *)(puVar20 + -0x50)" * (cast_expression "(undefined4 *)(puVar20 + -0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x50)" ( (binary_expression "puVar20 + -0x50" identifier + number_literal) )))) = number_literal) ;) (do_statement "do {\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x1c);" do (compound_statement "{\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  }" { (expression_statement "*(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x4c + uVar3) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x4c + uVar3)" * (cast_expression "(undefined4 *)(puVar20 + -0x4c + uVar3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x4c + uVar3)" ( (binary_expression "puVar20 + -0x4c + uVar3" (binary_expression "puVar20 + -0x4c" identifier + number_literal) + identifier) )))) = number_literal) ;) (expression_statement "uVar3 = uVar3 + 4;" (assignment_expression "uVar3 = uVar3 + 4" identifier = (binary_expression "uVar3 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 < 0x1c)" ( (binary_expression "uVar3 < 0x1c" identifier < number_literal) )) ;) (expression_statement "iVar6 = *(int *)(iVar12 + 0xc4);" (assignment_expression "iVar6 = *(int *)(iVar12 + 0xc4)" identifier = (pointer_expression "*(int *)(iVar12 + 0xc4)" * (cast_expression "(int *)(iVar12 + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc4)" ( (binary_expression "iVar12 + 0xc4" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (if_statement "if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))\n  goto LAB_0001b7c0;" if (parenthesized_expression "((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))" ( (binary_expression "(iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0')" (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) || (parenthesized_expression "(puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0')" ( (comma_expression "puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) , (binary_expression "*(char *)(iVar12 + 0xe1) != '\0'" (pointer_expression "*(char *)(iVar12 + 0xe1)" * (cast_expression "(char *)(iVar12 + 0xe1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xe1)" ( (binary_expression "iVar12 + 0xe1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_0001b7c0;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x80800;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x80800" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;" (assignment_expression "*(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50" (pointer_expression "*(undefined1 **)(puVar20 + -0x74)" * (cast_expression "(undefined1 **)(puVar20 + -0x74)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x74)" ( (binary_expression "puVar20 + -0x74" identifier + number_literal) )))) = (binary_expression "puVar20 + -0x50" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;" (assignment_expression "*(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c" (pointer_expression "*(undefined1 **)(puVar20 + -0x78)" * (cast_expression "(undefined1 **)(puVar20 + -0x78)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x78)" ( (binary_expression "puVar20 + -0x78" identifier + number_literal) )))) = (binary_expression "puVar20 + -0x4c" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x7c) = iVar6;" (assignment_expression "*(int *)(puVar20 + -0x7c) = iVar6" (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b6c8" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" * (cast_expression "(undefined4 *)(puVar20 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x80)" ( (binary_expression "puVar20 + -0x80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));" (assignment_expression "iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70))" identifier = (call_expression "accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70))" identifier (argument_list "(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70))" ( (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) , (pointer_expression "*(sockaddr **)(puVar20 + -0x78)" * (cast_expression "(sockaddr **)(puVar20 + -0x78)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x78)" ( (binary_expression "puVar20 + -0x78" identifier + number_literal) )))) , (pointer_expression "*(socklen_t **)(puVar20 + -0x74)" * (cast_expression "(socklen_t **)(puVar20 + -0x74)" ( (type_descriptor "socklen_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x74)" ( (binary_expression "puVar20 + -0x74" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar20 + -0x70)" * (cast_expression "(int *)(puVar20 + -0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) )))) ;) (expression_statement "puVar22 = puVar20 + -0x6c;" (assignment_expression "puVar22 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (if_statement "if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }" if (parenthesized_expression "((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0))" ( (binary_expression "(iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)" (parenthesized_expression "(iVar6 != -1)" ( (binary_expression "iVar6 != -1" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(puVar20 + -0x50) != 0)" ( (binary_expression "*(int *)(puVar20 + -0x50) != 0" (pointer_expression "*(int *)(puVar20 + -0x50)" * (cast_expression "(int *)(puVar20 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x50)" ( (binary_expression "puVar20 + -0x50" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }" { (expression_statement "*(undefined4 *)(puVar20 + -0x74) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0x74) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0x74)" * (cast_expression "(undefined4 *)(puVar20 + -0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x74)" ( (binary_expression "puVar20 + -0x74" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x78) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x78) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x78)" * (cast_expression "(undefined4 *)(puVar20 + -0x78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x78)" ( (binary_expression "puVar20 + -0x78" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);" (assignment_expression "*(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50)" (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) = (pointer_expression "*(int *)(puVar20 + -0x50)" * (cast_expression "(int *)(puVar20 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x50)" ( (binary_expression "puVar20 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b7f3" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" * (cast_expression "(undefined4 *)(puVar20 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x80)" ( (binary_expression "puVar20 + -0x80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a9e0();" (call_expression "FUN_0001a9e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0001b7c2;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1b6e3" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar17 = *piVar13;" (assignment_expression "iVar17 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (if_statement "if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }" if (parenthesized_expression "((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16))" ( (binary_expression "(iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)" (parenthesized_expression "(iVar17 != 0x67)" ( (binary_expression "iVar17 != 0x67" identifier != number_literal) )) && (parenthesized_expression "(puVar21 = puVar20 + -0x6c, iVar17 != 0x16)" ( (comma_expression "puVar21 = puVar20 + -0x6c, iVar17 != 0x16" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) , (binary_expression "iVar17 != 0x16" identifier != number_literal)) ))) )) (compound_statement "{\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }" { (expression_statement "*(int **)(puVar20 + -0x60) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x60) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x60)" * (cast_expression "(int **)(puVar20 + -0x60)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }" if (parenthesized_expression "(iVar17 == 0xb)" ( (binary_expression "iVar17 == 0xb" identifier == number_literal) )) (compound_statement "{\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }" { (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (if_statement "if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }" if (parenthesized_expression "(iVar6 != -1)" ( (binary_expression "iVar6 != -1" identifier != number_literal) )) (compound_statement "{\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }" { (expression_statement "*(int *)(puVar20 + -0x7c) = iVar6;" (assignment_expression "*(int *)(puVar20 + -0x7c) = iVar6" (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b80e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b80e" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" * (cast_expression "(undefined4 *)(puVar20 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x80)" ( (binary_expression "puVar20 + -0x80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar15 = close(*(int *)(puVar20 + -0x7c));" (assignment_expression "iVar15 = close(*(int *)(puVar20 + -0x7c))" identifier = (call_expression "close(*(int *)(puVar20 + -0x7c))" identifier (argument_list "(*(int *)(puVar20 + -0x7c))" ( (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) )))) ;) (expression_statement "piVar13 = *(int **)(puVar20 + -0x60);" (assignment_expression "piVar13 = *(int **)(puVar20 + -0x60)" identifier = (pointer_expression "*(int **)(puVar20 + -0x60)" * (cast_expression "(int **)(puVar20 + -0x60)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar20 + -0x6c;" (assignment_expression "puVar20 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (if_statement "if (iVar15 != 0) goto LAB_0001b819;" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b819;" goto statement_identifier ;)) })) }) (else_clause "else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }" else (compound_statement "{\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }" { (expression_statement "*(int *)(puVar20 + -0x7c) = iVar17;" (assignment_expression "*(int *)(puVar20 + -0x7c) = iVar17" (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b70d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b70d" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" * (cast_expression "(undefined4 *)(puVar20 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x80)" ( (binary_expression "puVar20 + -0x80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x7c));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x7c))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x7c))" identifier (argument_list "(*(int *)(puVar20 + -0x7c))" ( (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -0x74) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -0x74) = pcVar14" (pointer_expression "*(char **)(puVar20 + -0x74)" * (cast_expression "(char **)(puVar20 + -0x74)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x74)" ( (binary_expression "puVar20 + -0x74" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x78) = iVar4 + 0x10437;" (assignment_expression "*(int *)(puVar20 + -0x78) = iVar4 + 0x10437" (pointer_expression "*(int *)(puVar20 + -0x78)" * (cast_expression "(int *)(puVar20 + -0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x78)" ( (binary_expression "puVar20 + -0x78" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10437" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x7c) = iVar12;" (assignment_expression "*(int *)(puVar20 + -0x7c) = iVar12" (pointer_expression "*(int *)(puVar20 + -0x7c)" * (cast_expression "(int *)(puVar20 + -0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x7c)" ( (binary_expression "puVar20 + -0x7c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b71e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b71e" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" * (cast_expression "(undefined4 *)(puVar20 + -0x80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x80)" ( (binary_expression "puVar20 + -0x80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" identifier = (binary_expression "puVar20 + -0x6c" identifier + number_literal)) ;) (if_statement "if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }" if (parenthesized_expression "(iVar6 != -1)" ( (binary_expression "iVar6 != -1" identifier != number_literal) )) (compound_statement "{\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }" { (while_statement "while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }" { (expression_statement "*(int *)(puVar22 + -0x10) = iVar6;" (assignment_expression "*(int *)(puVar22 + -0x10) = iVar6" (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1b851;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1b851" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" * (cast_expression "(undefined4 *)(puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x14)" ( (binary_expression "puVar22 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar15 = close(*(int *)(puVar22 + -0x10));" (assignment_expression "iVar15 = close(*(int *)(puVar22 + -0x10))" identifier = (call_expression "close(*(int *)(puVar22 + -0x10))" identifier (argument_list "(*(int *)(puVar22 + -0x10))" ( (pointer_expression "*(int *)(puVar22 + -0x10)" * (cast_expression "(int *)(puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "piVar13 = *(int **)(puVar22 + 0xc);" (assignment_expression "piVar13 = *(int **)(puVar22 + 0xc)" identifier = (pointer_expression "*(int **)(puVar22 + 0xc)" * (cast_expression "(int **)(puVar22 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0xc)" ( (binary_expression "puVar22 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "puVar20 = puVar22;" (assignment_expression "puVar20 = puVar22" identifier = identifier) ;) (expression_statement "puVar21 = puVar22;" (assignment_expression "puVar21 = puVar22" identifier = identifier) ;) (if_statement "if (iVar15 == 0) break;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001b819:\n          puVar21 = puVar20;" statement_identifier : (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" identifier = identifier) ;)) (if_statement "if (*piVar13 != 9) break;" if (parenthesized_expression "(*piVar13 != 9)" ( (binary_expression "*piVar13 != 9" (pointer_expression "*piVar13" * identifier) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf9eb;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf9eb" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf9eb" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xc1a;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xc1a" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf9d7" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar20 + -0x10;" (assignment_expression "puVar22 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x199fb)" * (cast_expression "(undefined4 *)(iVar4 + 0x199fb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x199fb)" ( (binary_expression "iVar4 + 0x199fb" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x199ff);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x199ff)" identifier = (pointer_expression "*(code **)(iVar4 + 0x199ff)" * (cast_expression "(code **)(iVar4 + 0x199ff)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x199ff)" ( (binary_expression "iVar4 + 0x199ff" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b841;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b841" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) })) })) (if_statement "if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }" if (parenthesized_expression "((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2))" ( (binary_expression "(iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)" (parenthesized_expression "(iVar17 == 0xc || iVar17 == 0x69)" ( (binary_expression "iVar17 == 0xc || iVar17 == 0x69" (binary_expression "iVar17 == 0xc" identifier == number_literal) || (binary_expression "iVar17 == 0x69" identifier == number_literal)) )) || (parenthesized_expression "(iVar17 - 0x17U < 2)" ( (binary_expression "iVar17 - 0x17U < 2" (binary_expression "iVar17 - 0x17U" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }" { (if_statement "if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }" if (parenthesized_expression "(*(int *)(iVar12 + 0xe8) != 0)" ( (binary_expression "*(int *)(iVar12 + 0xe8) != 0" (pointer_expression "*(int *)(iVar12 + 0xe8)" * (cast_expression "(int *)(iVar12 + 0xe8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xe8)" ( (binary_expression "iVar12 + 0xe8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }" { (expression_statement "iVar17 = iVar12 + 0xac;" (assignment_expression "iVar17 = iVar12 + 0xac" identifier = (binary_expression "iVar12 + 0xac" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x10) = iVar17;" (assignment_expression "*(int *)(puVar21 + -0x10) = iVar17" (pointer_expression "*(int *)(puVar21 + -0x10)" * (cast_expression "(int *)(puVar21 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b75b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b75b" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));" (assignment_expression "iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10))" identifier = (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar21 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar21 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar21 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }" { (expression_statement "*(undefined1 *)(iVar12 + 0xe2) = 1;" (assignment_expression "*(undefined1 *)(iVar12 + 0xe2) = 1" (pointer_expression "*(undefined1 *)(iVar12 + 0xe2)" * (cast_expression "(undefined1 *)(iVar12 + 0xe2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xe2)" ( (binary_expression "iVar12 + 0xe2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0x10) = iVar17;" (assignment_expression "*(int *)(puVar21 + -0x10) = iVar17" (pointer_expression "*(int *)(puVar21 + -0x10)" * (cast_expression "(int *)(puVar21 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b776;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b776" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));" (assignment_expression "iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10))" identifier = (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)(puVar21 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)(puVar21 + -0x10)" * (cast_expression "(pthread_mutex_t **)(puVar21 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" identifier = identifier) ;) (if_statement "if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }" { (expression_statement "*(undefined4 *)(puVar21 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar21 + 0xc)" * (cast_expression "(undefined4 *)(puVar21 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0xc)" ( (binary_expression "puVar21 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);" (assignment_expression "*(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8)" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar12 + 0xe8)" * (cast_expression "(undefined4 *)(iVar12 + 0xe8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xe8)" ( (binary_expression "iVar12 + 0xe8" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10513;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10513" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10513" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x10)" * (cast_expression "(int *)(puVar21 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b79b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b79b" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar23 = *(undefined4 *)(puVar21 + 0xc);" (assignment_expression "uVar23 = *(undefined4 *)(puVar21 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(puVar21 + 0xc)" * (cast_expression "(undefined4 *)(puVar21 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0xc)" ( (binary_expression "puVar21 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001b7c2;" goto statement_identifier ;) })) }) (else_clause "else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }" else (compound_statement "{\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }" { (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0xe993;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0xe993" (pointer_expression "*(int *)(puVar21 + -4)" * (cast_expression "(int *)(puVar21 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xe993" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0xc2c;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0xc2c" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf9d7" identifier + number_literal)) ;) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" identifier = (binary_expression "puVar21 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x199fb)" * (cast_expression "(undefined4 *)(iVar4 + 0x199fb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x199fb)" ( (binary_expression "iVar4 + 0x199fb" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x199ff);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x199ff)" identifier = (pointer_expression "*(code **)(iVar4 + 0x199ff)" * (cast_expression "(code **)(iVar4 + 0x199ff)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x199ff)" ( (binary_expression "iVar4 + 0x199ff" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b886;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b886" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) }))) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xe9b7;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xe9b7" (pointer_expression "*(int *)(puVar20 + -4)" * (cast_expression "(int *)(puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xe9b7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xc30;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xc30" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7" (pointer_expression "*(int *)(puVar20 + -0xc)" * (cast_expression "(int *)(puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0xf9d7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar4 + 0x199fb)" * (cast_expression "(undefined4 *)(iVar4 + 0x199fb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x199fb)" ( (binary_expression "iVar4 + 0x199fb" identifier + number_literal) ))))) ;) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x199ff);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x199ff)" identifier = (pointer_expression "*(code **)(iVar4 + 0x199ff)" * (cast_expression "(code **)(iVar4 + 0x199ff)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x199ff)" ( (binary_expression "iVar4 + 0x199ff" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b8a5" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar24 = (*pcVar2)();" (assignment_expression "uVar24 = (*pcVar2)()" identifier = (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "iVar15 = (int)uVar24;" (assignment_expression "iVar15 = (int)uVar24" identifier = (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(int *)(puVar20 + -0x14) = iVar6;" (assignment_expression "*(int *)(puVar20 + -0x14) = iVar6" (pointer_expression "*(int *)(puVar20 + -0x14)" * (cast_expression "(int *)(puVar20 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x18) = iVar17;" (assignment_expression "*(int *)(puVar20 + -0x18) = iVar17" (pointer_expression "*(int *)(puVar20 + -0x18)" * (cast_expression "(int *)(puVar20 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x18)" ( (binary_expression "puVar20 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x1c) = iVar12;" (assignment_expression "*(int *)(puVar20 + -0x1c) = iVar12" (pointer_expression "*(int *)(puVar20 + -0x1c)" * (cast_expression "(int *)(puVar20 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x1c)" ( (binary_expression "puVar20 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x20) = iVar4 + 0x19773;" (assignment_expression "*(int *)(puVar20 + -0x20) = iVar4 + 0x19773" (pointer_expression "*(int *)(puVar20 + -0x20)" * (cast_expression "(int *)(puVar20 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x20)" ( (binary_expression "puVar20 + -0x20" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x19773" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;" (assignment_expression "*(undefined4 *)(puVar20 + -0x24) = 0x1b8bb" (pointer_expression "*(undefined4 *)(puVar20 + -0x24)" * (cast_expression "(undefined4 *)(puVar20 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x24)" ( (binary_expression "puVar20 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = *(int *)(puVar20 + -0x24);" (assignment_expression "iVar12 = *(int *)(puVar20 + -0x24)" identifier = (pointer_expression "*(int *)(puVar20 + -0x24)" * (cast_expression "(int *)(puVar20 + -0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x24)" ( (binary_expression "puVar20 + -0x24" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(iVar15 + 0xc4);" (assignment_expression "iVar4 = *(int *)(iVar15 + 0xc4)" identifier = (pointer_expression "*(int *)(iVar15 + 0xc4)" * (cast_expression "(int *)(iVar15 + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc4)" ( (binary_expression "iVar15 + 0xc4" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);" (assignment_expression "*(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20)" (pointer_expression "*(int *)(puVar20 + -0x54)" * (cast_expression "(int *)(puVar20 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x54)" ( (binary_expression "puVar20 + -0x54" identifier + number_literal) )))) = (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" ( (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar20 + -0x30)" * (cast_expression "(undefined4 *)(puVar20 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x30)" ( (binary_expression "puVar20 + -0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x40) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x40) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x40)" * (cast_expression "(undefined4 *)(puVar20 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x40)" ( (binary_expression "puVar20 + -0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x3c) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x3c) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x3c)" * (cast_expression "(undefined4 *)(puVar20 + -0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x3c)" ( (binary_expression "puVar20 + -0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x38)" * (cast_expression "(undefined4 *)(puVar20 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x38)" ( (binary_expression "puVar20 + -0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x34) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x34)" * (cast_expression "(undefined4 *)(puVar20 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x34)" ( (binary_expression "puVar20 + -0x34" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" if (parenthesized_expression "(iVar4 == -1)" ( (binary_expression "iVar4 == -1" identifier == number_literal) )) (compound_statement "{\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }" { (expression_statement "iVar17 = 1;" (assignment_expression "iVar17 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x58) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x58) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x58)" * (cast_expression "(undefined4 *)(puVar20 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) }) (else_clause "else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" else (if_statement "if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" if (parenthesized_expression "(*(char *)(iVar15 + 0xe1) == '\0')" ( (binary_expression "*(char *)(iVar15 + 0xe1) == '\0'" (pointer_expression "*(char *)(iVar15 + 0xe1)" * (cast_expression "(char *)(iVar15 + 0xe1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xe1)" ( (binary_expression "iVar15 + 0xe1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }" { (expression_statement "*(int *)(puVar20 + -0x40) = iVar4;" (assignment_expression "*(int *)(puVar20 + -0x40) = iVar4" (pointer_expression "*(int *)(puVar20 + -0x40)" * (cast_expression "(int *)(puVar20 + -0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x40)" ( (binary_expression "puVar20 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "iVar17 = 2;" (assignment_expression "iVar17 = 2" identifier = number_literal) ;) (expression_statement "*(undefined2 *)(puVar20 + -0x3c) = 1;" (assignment_expression "*(undefined2 *)(puVar20 + -0x3c) = 1" (pointer_expression "*(undefined2 *)(puVar20 + -0x3c)" * (cast_expression "(undefined2 *)(puVar20 + -0x3c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x3c)" ( (binary_expression "puVar20 + -0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x58) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0x58) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0x58)" * (cast_expression "(undefined4 *)(puVar20 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" else (compound_statement "{\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" { (expression_statement "*(undefined4 *)(puVar20 + -0x58) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x58) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x58)" * (cast_expression "(undefined4 *)(puVar20 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar17 = 1;" (assignment_expression "iVar17 = 1" identifier = number_literal) ;) (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" identifier = number_literal) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) }))))) (expression_statement "uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;" (assignment_expression "uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000" identifier = (binary_expression "*(uint *)(iVar15 + 0xf8) & 0x2000" (pointer_expression "*(uint *)(iVar15 + 0xf8)" * (cast_expression "(uint *)(iVar15 + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xf8)" ( (binary_expression "iVar15 + 0xf8" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }" if (parenthesized_expression "(*(int *)(iVar15 + 0xdc) == -1)" ( (binary_expression "*(int *)(iVar15 + 0xdc) == -1" (pointer_expression "*(int *)(iVar15 + 0xdc)" * (cast_expression "(int *)(iVar15 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xdc)" ( (binary_expression "iVar15 + 0xdc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }" { (expression_statement "iVar17 = -1;" (assignment_expression "iVar17 = -1" identifier = number_literal) ;) (if_statement "if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -0x58) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar20 + -0x58) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar20 + -0x58)" * (cast_expression "(undefined4 *)(puVar20 + -0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0001ba92;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }" statement_identifier : (if_statement "if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x10;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x10" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" * (cast_expression "(undefined4 *)(puVar20 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);" (assignment_expression "*(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54)" (pointer_expression "*(int *)(puVar20 + -100)" * (cast_expression "(int *)(puVar20 + -100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -100)" ( (binary_expression "puVar20 + -100" identifier + number_literal) )))) = (unary_expression "-*(int *)(puVar20 + -0x54)" - (pointer_expression "*(int *)(puVar20 + -0x54)" * (cast_expression "(int *)(puVar20 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x54)" ( (binary_expression "puVar20 + -0x54" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(puVar20 + -0x68) = iVar4;" (assignment_expression "*(int *)(puVar20 + -0x68) = iVar4" (pointer_expression "*(int *)(puVar20 + -0x68)" * (cast_expression "(int *)(puVar20 + -0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x68)" ( (binary_expression "puVar20 + -0x68" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;" (assignment_expression "*(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40" (pointer_expression "*(undefined1 **)(puVar20 + -0x6c)" * (cast_expression "(undefined1 **)(puVar20 + -0x6c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) = (binary_expression "puVar20 + -0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1ba34;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1ba34" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = __poll_chk();" (assignment_expression "iVar4 = __poll_chk()" identifier = (call_expression "__poll_chk()" identifier (argument_list "()" ( )))) ;) (if_statement "if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }" { (if_statement "if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }" if (parenthesized_expression "(iVar17 != -1)" ( (binary_expression "iVar17 != -1" identifier != number_literal) )) (compound_statement "{\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }" { (expression_statement "*(int *)(puVar20 + -0x58) = iVar17;" (assignment_expression "*(int *)(puVar20 + -0x58) = iVar17" (pointer_expression "*(int *)(puVar20 + -0x58)" * (cast_expression "(int *)(puVar20 + -0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0001b975;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001b984;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;" statement_identifier : (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x1ba55;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x1ba55" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" * (cast_expression "(undefined4 *)(puVar20 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }" if (parenthesized_expression "(*piVar13 != 4)" ( (binary_expression "*piVar13 != 4" (pointer_expression "*piVar13" * identifier) != number_literal) )) (compound_statement "{\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }" { (expression_statement "*(int *)(puVar20 + -0x6c) = *piVar13;" (assignment_expression "*(int *)(puVar20 + -0x6c) = *piVar13" (pointer_expression "*(int *)(puVar20 + -0x6c)" * (cast_expression "(int *)(puVar20 + -0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1ba69;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1ba69" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x6c));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x6c))" identifier = (call_expression "strerror(*(int *)(puVar20 + -0x6c))" identifier (argument_list "(*(int *)(puVar20 + -0x6c))" ( (pointer_expression "*(int *)(puVar20 + -0x6c)" * (cast_expression "(int *)(puVar20 + -0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar20 + -100) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -100) = pcVar14" (pointer_expression "*(char **)(puVar20 + -100)" * (cast_expression "(char **)(puVar20 + -100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -100)" ( (binary_expression "puVar20 + -100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;" (assignment_expression "*(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7" (pointer_expression "*(int *)(puVar20 + -0x68)" * (cast_expression "(int *)(puVar20 + -0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x68)" ( (binary_expression "puVar20 + -0x68" identifier + number_literal) )))) = (binary_expression "iVar12 + 0xf7f7" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar20 + -0x6c) = iVar15;" (assignment_expression "*(int *)(puVar20 + -0x6c) = iVar15" (pointer_expression "*(int *)(puVar20 + -0x6c)" * (cast_expression "(int *)(puVar20 + -0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1ba7a" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001b9ad;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }" else (compound_statement "{\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }" { (expression_statement "*(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);" (assignment_expression "*(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc)" (pointer_expression "*(int *)(puVar20 + iVar4 * 8 + -0x40)" * (cast_expression "(int *)(puVar20 + iVar4 * 8 + -0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + iVar4 * 8 + -0x40)" ( (binary_expression "puVar20 + iVar4 * 8 + -0x40" (binary_expression "puVar20 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(int *)(iVar15 + 0xdc)" * (cast_expression "(int *)(iVar15 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xdc)" ( (binary_expression "iVar15 + 0xdc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;" (assignment_expression "*(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1" (pointer_expression "*(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c)" * (cast_expression "(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + iVar4 * 8 + -0x3c)" ( (binary_expression "puVar20 + iVar4 * 8 + -0x3c" (binary_expression "puVar20 + iVar4 * 8" identifier + (binary_expression "iVar4 * 8" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = iVar17;" (assignment_expression "iVar4 = iVar17" identifier = identifier) ;) (if_statement "if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }" { (labeled_statement "LAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;" statement_identifier : (expression_statement "*(int *)(puVar20 + -0x50) = iVar4;" (assignment_expression "*(int *)(puVar20 + -0x50) = iVar4" (pointer_expression "*(int *)(puVar20 + -0x50)" * (cast_expression "(int *)(puVar20 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x50)" ( (binary_expression "puVar20 + -0x50" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x1ba9d" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" * (cast_expression "(undefined4 *)(puVar20 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000190f0();" (call_expression "FUN_000190f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar4 = *(int *)(puVar20 + -0x50);" (assignment_expression "iVar4 = *(int *)(puVar20 + -0x50)" identifier = (pointer_expression "*(int *)(puVar20 + -0x50)" * (cast_expression "(int *)(puVar20 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x50)" ( (binary_expression "puVar20 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(puVar20 + -0x58);" (assignment_expression "iVar17 = *(int *)(puVar20 + -0x58)" identifier = (pointer_expression "*(int *)(puVar20 + -0x58)" * (cast_expression "(int *)(puVar20 + -0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001ba1c;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x10;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x10" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" * (cast_expression "(undefined4 *)(puVar20 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);" (assignment_expression "*(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54)" (pointer_expression "*(int *)(puVar20 + -100)" * (cast_expression "(int *)(puVar20 + -100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -100)" ( (binary_expression "puVar20 + -100" identifier + number_literal) )))) = (unary_expression "-*(int *)(puVar20 + -0x54)" - (pointer_expression "*(int *)(puVar20 + -0x54)" * (cast_expression "(int *)(puVar20 + -0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x54)" ( (binary_expression "puVar20 + -0x54" identifier + number_literal) )))))) ;) (expression_statement "*(int *)(puVar20 + -0x68) = iVar17;" (assignment_expression "*(int *)(puVar20 + -0x68) = iVar17" (pointer_expression "*(int *)(puVar20 + -0x68)" * (cast_expression "(int *)(puVar20 + -0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x68)" ( (binary_expression "puVar20 + -0x68" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;" (assignment_expression "*(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40" (pointer_expression "*(undefined1 **)(puVar20 + -0x6c)" * (cast_expression "(undefined1 **)(puVar20 + -0x6c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) = (binary_expression "puVar20 + -0x40" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1b96a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1b96a" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = __poll_chk();" (assignment_expression "iVar4 = __poll_chk()" identifier = (call_expression "__poll_chk()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 < 0) goto LAB_0001ba50;" if (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0001ba50;" goto statement_identifier ;)) (labeled_statement "LAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }" statement_identifier : (if_statement "if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }" if (parenthesized_expression "((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0)" ( (binary_expression "(puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0" (parenthesized_expression "(puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1)" ( (binary_expression "puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1" (subscript_expression "puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a]" identifier [ (binary_expression "*(int *)(puVar20 + -0x58) * 8 + -0x3a" (binary_expression "*(int *)(puVar20 + -0x58) * 8" (pointer_expression "*(int *)(puVar20 + -0x58)" * (cast_expression "(int *)(puVar20 + -0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x58)" ( (binary_expression "puVar20 + -0x58" identifier + number_literal) )))) * number_literal) + number_literal) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -100) = 8;" (assignment_expression "*(undefined4 *)(puVar20 + -100) = 8" (pointer_expression "*(undefined4 *)(puVar20 + -100)" * (cast_expression "(undefined4 *)(puVar20 + -100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -100)" ( (binary_expression "puVar20 + -100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;" (assignment_expression "*(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c" (pointer_expression "*(undefined1 **)(puVar20 + -0x68)" * (cast_expression "(undefined1 **)(puVar20 + -0x68)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x68)" ( (binary_expression "puVar20 + -0x68" identifier + number_literal) )))) = (binary_expression "puVar20 + -0x4c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);" (assignment_expression "*(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc)" (pointer_expression "*(undefined4 *)(puVar20 + -0x6c)" * (cast_expression "(undefined4 *)(puVar20 + -0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar15 + 0xdc)" * (cast_expression "(undefined4 *)(iVar15 + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xdc)" ( (binary_expression "iVar15 + 0xdc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1bac5;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1bac5" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" * (cast_expression "(undefined4 *)(puVar20 + -0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x70)" ( (binary_expression "puVar20 + -0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );" (call_expression "read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  )" identifier (argument_list "(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  )" ( (pointer_expression "*(int *)(puVar20 + -0x6c)" * (cast_expression "(int *)(puVar20 + -0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x6c)" ( (binary_expression "puVar20 + -0x6c" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar20 + -0x68)" * (cast_expression "(void **)(puVar20 + -0x68)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x68)" ( (binary_expression "puVar20 + -0x68" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar20 + -100)" * (cast_expression "(size_t *)(puVar20 + -100)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -100)" ( (binary_expression "puVar20 + -100" identifier + number_literal) )))) ))) ;) }))) (labeled_statement "LAB_0001b984:\n            uVar23 = 0;" statement_identifier : (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;)) (if_statement "if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;" if (parenthesized_expression "(*(char *)(iVar15 + 0xe0) != '\0')" ( (binary_expression "*(char *)(iVar15 + 0xe0) != '\0'" (pointer_expression "*(char *)(iVar15 + 0xe0)" * (cast_expression "(char *)(iVar15 + 0xe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xe0)" ( (binary_expression "iVar15 + 0xe0" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0001b9ad;" goto statement_identifier ;)) (if_statement "if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }" if (parenthesized_expression "((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0))" ( (binary_expression "(iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)" (parenthesized_expression "(iVar6 != -1)" ( (binary_expression "iVar6 != -1" identifier != number_literal) )) && (parenthesized_expression "((puVar20[-0x3a] & 1) != 0)" ( (binary_expression "(puVar20[-0x3a] & 1) != 0" (parenthesized_expression "(puVar20[-0x3a] & 1)" ( (binary_expression "puVar20[-0x3a] & 1" (subscript_expression "puVar20[-0x3a]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }" { (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x1b9a4" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" * (cast_expression "(undefined4 *)(puVar20 + -0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001b660();" (call_expression "FUN_0001b660()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }" statement_identifier : (if_statement "if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }" if (parenthesized_expression "(*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar20 + -0x30)" * (cast_expression "(int *)(puVar20 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x30)" ( (binary_expression "puVar20 + -0x30" identifier + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }" { (expression_statement "*(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;" (assignment_expression "*(undefined **)(puVar20 + -0x60) = &UNK_0001bad2" (pointer_expression "*(undefined **)(puVar20 + -0x60)" * (cast_expression "(undefined **)(puVar20 + -0x60)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0x60)" ( (binary_expression "puVar20 + -0x60" identifier + number_literal) )))) = (pointer_expression "&UNK_0001bad2" & identifier)) ;) (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar23;" return identifier ;) })) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10457;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10457" (pointer_expression "*(int *)(puVar21 + -0xc)" * (cast_expression "(int *)(puVar21 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar4 + 0x10457" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x10)" * (cast_expression "(int *)(puVar21 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b7b8" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) })) }))) })) (labeled_statement "LAB_0001b7c0:\n  uVar23 = 0;" statement_identifier : (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0001b7c2:\n  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }" statement_identifier : (if_statement "if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }" if (parenthesized_expression "(*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar21 + 0x3c)" * (cast_expression "(int *)(puVar21 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x3c)" ( (binary_expression "puVar21 + 0x3c" identifier + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }" { (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x1b867;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x1b867" (pointer_expression "*(undefined4 *)(puVar21 + -4)" * (cast_expression "(undefined4 *)(puVar21 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar23;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 (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 * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + 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 ;)) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT != LIT))) ))) )) (compound_statement { (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 = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT % IDENT) )) * LIT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % IDENT) )) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * IDENT) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (subscript_expression IDENT [ LIT ])) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ 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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (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 *)) ) (subscript_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (string_literal " string_content ") + IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (string_literal " string_content ") + IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto 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 ]) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (string_literal " string_content ") + IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (string_literal " string_content ") + IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (string_literal " string_content ") + IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (goto_statement goto statement_identifier ;) })) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (string_literal " string_content ") + IDENT) + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (string_literal " string_content ") + IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * IDENT) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence '))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT)) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (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 IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))))) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (unary_expression - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (unary_expression - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT) + LIT) ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 __regparm3 FUN_0001a860(void **param_1,int param_2,int param_3)\n\n{\n  pthread_mutex_t *__mutex;\n  uint uVar1;\n  code *pcVar2;\n  uint uVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  void *pvVar10;\n  ssize_t sVar11;\n  int iVar12;\n  int *piVar13;\n  char *pcVar14;\n  int iVar15;\n  undefined4 extraout_ECX;\n  int *piVar16;\n  int iVar17;\n  __compar_fn_t extraout_EDX;\n  __compar_fn_t __compar;\n  undefined4 extraout_EDX_00;\n  int extraout_EDX_01;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  void **__rootp;\n  undefined4 uVar23;\n  int in_GS_OFFSET;\n  undefined8 uVar24;\n  byte abStackY_29e [450];\n  size_t asStackY_dc [7];\n  uint auStackY_c0 [6];\n  byte abStackY_a8 [4];\n  int aiStackY_a4 [18];\n  undefined1 auStack_4c [12];\n  __compar_fn_t local_40;\n  int local_38 [4];\n  undefined4 local_28;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1a86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  do {\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  } while ((void **)__rootp[0x1c] != (void **)0x0);\n  if (__rootp[0x3d] == (void *)0x0) {\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }\n    return 0;\n  }\n  piVar13 = local_38;\n  uVar3 = 0;\n  do {\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x18);\n  if (param_3 == 0x10) {\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }\n  else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }\n  __mutex = (pthread_mutex_t *)(__rootp + 0x25);\n  iVar4 = pthread_mutex_lock(__mutex);\n  puVar19 = auStack_4c;\n  if (iVar4 == 0) {\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }\n  *(undefined4 *)(puVar19 + -4) = 0x1a9d8;\n  uVar24 = FUN_0001a630();\n  uVar3 = (uint)((ulonglong)uVar24 >> 0x20);\n  piVar16 = (int *)uVar24;\n  *(int **)(puVar19 + -4) = piVar13;\n  *(pthread_mutex_t **)(puVar19 + -8) = __mutex;\n  *(void ***)(puVar19 + -0xc) = __rootp;\n  *(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;\n  iVar4 = *(int *)(puVar19 + -0x14);\n  *(undefined4 *)(puVar19 + -0x40) = extraout_ECX;\n  *(uint *)(puVar19 + -0x44) = uVar3;\n  *(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);\n  *(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);\n  *(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar20 = puVar19 + -0x4c;\n  if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }\nLAB_0001aae0:\n  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }\n  *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar21 + -8) = 0x912;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;\n  (*pcVar2)();\n  piVar9 = piVar13;\nLAB_0001b5ba:\n  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;\n  FUN_0001a630();\n  puVar21 = puVar20;\nLAB_0001b5bf:\n  *(int *)(puVar21 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar21 + -8) = 0x9e4;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5de;\n  (*pcVar2)();\nLAB_0001b5de:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar20 + -8) = 0xa5b;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b5fd:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n  *(undefined4 *)(puVar20 + -8) = 0xa01;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b61c;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b61c:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x985;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b63b;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b63b:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x971;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b65a;\n  iVar12 = (*pcVar2)();\n  *(int **)(puVar20 + -0x14) = piVar9;\n  *(int **)(puVar20 + -0x18) = piVar8;\n  *(int **)(puVar20 + -0x1c) = piVar16;\n  *(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;\n  *(undefined4 *)(puVar20 + -0x24) = 0x1b66d;\n  iVar4 = *(int *)(puVar20 + -0x24);\n  *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  uVar3 = 0;\n  *(undefined4 *)(puVar20 + -0x50) = 0x1c;\n  do {\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x1c);\n  iVar6 = *(int *)(iVar12 + 0xc4);\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))\n  goto LAB_0001b7c0;\n  *(undefined4 *)(puVar20 + -0x70) = 0x80800;\n  *(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;\n  *(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;\n  *(int *)(puVar20 + -0x7c) = iVar6;\n  *(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;\n  iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));\n  puVar22 = puVar20 + -0x6c;\n  if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }\n  *(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;\n  piVar13 = __errno_location();\n  iVar17 = *piVar13;\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001b7c0:\n  uVar23 = 0;\nLAB_0001b7c2:\n  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }\n  return uVar23;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0001a860(void **param_1,int param_2,int param_3)" (identifier "FUN_0001a860") (parameter_list "(void **param_1,int param_2,int param_3)" (( "(") (parameter_declaration "void **param_1" (primitive_type "void") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (identifier "param_1")))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  pthread_mutex_t *__mutex;\n  uint uVar1;\n  code *pcVar2;\n  uint uVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  int *piVar7;\n  int *piVar8;\n  int *piVar9;\n  void *pvVar10;\n  ssize_t sVar11;\n  int iVar12;\n  int *piVar13;\n  char *pcVar14;\n  int iVar15;\n  undefined4 extraout_ECX;\n  int *piVar16;\n  int iVar17;\n  __compar_fn_t extraout_EDX;\n  __compar_fn_t __compar;\n  undefined4 extraout_EDX_00;\n  int extraout_EDX_01;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  void **__rootp;\n  undefined4 uVar23;\n  int in_GS_OFFSET;\n  undefined8 uVar24;\n  byte abStackY_29e [450];\n  size_t asStackY_dc [7];\n  uint auStackY_c0 [6];\n  byte abStackY_a8 [4];\n  int aiStackY_a4 [18];\n  undefined1 auStack_4c [12];\n  __compar_fn_t local_40;\n  int local_38 [4];\n  undefined4 local_28;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1a86b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  do {\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  } while ((void **)__rootp[0x1c] != (void **)0x0);\n  if (__rootp[0x3d] == (void *)0x0) {\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }\n    return 0;\n  }\n  piVar13 = local_38;\n  uVar3 = 0;\n  do {\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x18);\n  if (param_3 == 0x10) {\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }\n  else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }\n  __mutex = (pthread_mutex_t *)(__rootp + 0x25);\n  iVar4 = pthread_mutex_lock(__mutex);\n  puVar19 = auStack_4c;\n  if (iVar4 == 0) {\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }\n  *(undefined4 *)(puVar19 + -4) = 0x1a9d8;\n  uVar24 = FUN_0001a630();\n  uVar3 = (uint)((ulonglong)uVar24 >> 0x20);\n  piVar16 = (int *)uVar24;\n  *(int **)(puVar19 + -4) = piVar13;\n  *(pthread_mutex_t **)(puVar19 + -8) = __mutex;\n  *(void ***)(puVar19 + -0xc) = __rootp;\n  *(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;\n  iVar4 = *(int *)(puVar19 + -0x14);\n  *(undefined4 *)(puVar19 + -0x40) = extraout_ECX;\n  *(uint *)(puVar19 + -0x44) = uVar3;\n  *(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);\n  *(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);\n  *(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar20 = puVar19 + -0x4c;\n  if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }\nLAB_0001aae0:\n  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }\n  *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar21 + -8) = 0x912;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;\n  (*pcVar2)();\n  piVar9 = piVar13;\nLAB_0001b5ba:\n  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;\n  FUN_0001a630();\n  puVar21 = puVar20;\nLAB_0001b5bf:\n  *(int *)(puVar21 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar21 + -8) = 0x9e4;\n  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n  puVar20 = puVar21 + -0x10;\n  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar21 + -0x14) = 0x1b5de;\n  (*pcVar2)();\nLAB_0001b5de:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf615;\n  *(undefined4 *)(puVar20 + -8) = 0xa5b;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b5fd:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n  *(undefined4 *)(puVar20 + -8) = 0xa01;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b61c;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b61c:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x985;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b63b;\n  (*pcVar2)();\n  puVar20 = puVar20 + -0x10;\nLAB_0001b63b:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n  *(undefined4 *)(puVar20 + -8) = 0x971;\n  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n  pcVar2 = *(code **)(iVar4 + 0x1a681);\n  *(undefined4 *)(puVar20 + -0x14) = 0x1b65a;\n  iVar12 = (*pcVar2)();\n  *(int **)(puVar20 + -0x14) = piVar9;\n  *(int **)(puVar20 + -0x18) = piVar8;\n  *(int **)(puVar20 + -0x1c) = piVar16;\n  *(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;\n  *(undefined4 *)(puVar20 + -0x24) = 0x1b66d;\n  iVar4 = *(int *)(puVar20 + -0x24);\n  *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  uVar3 = 0;\n  *(undefined4 *)(puVar20 + -0x50) = 0x1c;\n  do {\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x1c);\n  iVar6 = *(int *)(iVar12 + 0xc4);\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))\n  goto LAB_0001b7c0;\n  *(undefined4 *)(puVar20 + -0x70) = 0x80800;\n  *(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;\n  *(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;\n  *(int *)(puVar20 + -0x7c) = iVar6;\n  *(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;\n  iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));\n  puVar22 = puVar20 + -0x6c;\n  if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }\n  *(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;\n  piVar13 = __errno_location();\n  iVar17 = *piVar13;\n  puVar21 = puVar20 + -0x6c;\n  if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001b7c0:\n  uVar23 = 0;\nLAB_0001b7c2:\n  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }\n  return uVar23;\n}" ({ "{") (declaration "pthread_mutex_t *__mutex;" (type_identifier "pthread_mutex_t") (pointer_declarator "*__mutex" (* "*") (identifier "__mutex")) (; ";")) (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "code *pcVar2;" (type_identifier "code") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "void *pvVar10;" (primitive_type "void") (pointer_declarator "*pvVar10" (* "*") (identifier "pvVar10")) (; ";")) (declaration "ssize_t sVar11;" (primitive_type "ssize_t") (identifier "sVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "char *pcVar14;" (primitive_type "char") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "__compar_fn_t extraout_EDX;" (type_identifier "__compar_fn_t") (identifier "extraout_EDX") (; ";")) (declaration "__compar_fn_t __compar;" (type_identifier "__compar_fn_t") (identifier "__compar") (; ";")) (declaration "undefined4 extraout_EDX_00;" (type_identifier "undefined4") (identifier "extraout_EDX_00") (; ";")) (declaration "int extraout_EDX_01;" (primitive_type "int") (identifier "extraout_EDX_01") (; ";")) (declaration "undefined1 *puVar18;" (type_identifier "undefined1") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "undefined1 *puVar19;" (type_identifier "undefined1") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "undefined1 *puVar20;" (type_identifier "undefined1") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "undefined1 *puVar21;" (type_identifier "undefined1") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "undefined1 *puVar22;" (type_identifier "undefined1") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "void **__rootp;" (primitive_type "void") (pointer_declarator "**__rootp" (* "*") (pointer_declarator "*__rootp" (* "*") (identifier "__rootp"))) (; ";")) (declaration "undefined4 uVar23;" (type_identifier "undefined4") (identifier "uVar23") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "undefined8 uVar24;" (type_identifier "undefined8") (identifier "uVar24") (; ";")) (declaration "byte abStackY_29e [450];" (type_identifier "byte") (array_declarator "abStackY_29e [450]" (identifier "abStackY_29e") ([ "[") (number_literal "450") (] "]")) (; ";")) (declaration "size_t asStackY_dc [7];" (primitive_type "size_t") (array_declarator "asStackY_dc [7]" (identifier "asStackY_dc") ([ "[") (number_literal "7") (] "]")) (; ";")) (declaration "uint auStackY_c0 [6];" (type_identifier "uint") (array_declarator "auStackY_c0 [6]" (identifier "auStackY_c0") ([ "[") (number_literal "6") (] "]")) (; ";")) (declaration "byte abStackY_a8 [4];" (type_identifier "byte") (array_declarator "abStackY_a8 [4]" (identifier "abStackY_a8") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int aiStackY_a4 [18];" (primitive_type "int") (array_declarator "aiStackY_a4 [18]" (identifier "aiStackY_a4") ([ "[") (number_literal "18") (] "]")) (; ";")) (declaration "undefined1 auStack_4c [12];" (type_identifier "undefined1") (array_declarator "auStack_4c [12]" (identifier "auStack_4c") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "__compar_fn_t local_40;" (type_identifier "__compar_fn_t") (identifier "local_40") (; ";")) (declaration "int local_38 [4];" (primitive_type "int") (array_declarator "local_38 [4]" (identifier "local_38") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x1a86b;" (assignment_expression "uStack_14 = 0x1a86b" (identifier "uStack_14") (= "=") (number_literal "0x1a86b")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (do_statement "do {\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  } while ((void **)__rootp[0x1c] != (void **)0x0);" (do "do") (compound_statement "{\n    __rootp = param_1;\n    param_1 = (void **)__rootp[0x1c];\n  }" ({ "{") (expression_statement "__rootp = param_1;" (assignment_expression "__rootp = param_1" (identifier "__rootp") (= "=") (identifier "param_1")) (; ";")) (expression_statement "param_1 = (void **)__rootp[0x1c];" (assignment_expression "param_1 = (void **)__rootp[0x1c]" (identifier "param_1") (= "=") (cast_expression "(void **)__rootp[0x1c]" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "__rootp[0x1c]" (identifier "__rootp") ([ "[") (number_literal "0x1c") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((void **)__rootp[0x1c] != (void **)0x0)" (( "(") (binary_expression "(void **)__rootp[0x1c] != (void **)0x0" (cast_expression "(void **)__rootp[0x1c]" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "__rootp[0x1c]" (identifier "__rootp") ([ "[") (number_literal "0x1c") (] "]"))) (!= "!=") (cast_expression "(void **)0x0" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (__rootp[0x3d] == (void *)0x0) {\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }\n    return 0;\n  }" (if "if") (parenthesized_expression "(__rootp[0x3d] == (void *)0x0)" (( "(") (binary_expression "__rootp[0x3d] == (void *)0x0" (subscript_expression "__rootp[0x3d]" (identifier "__rootp") ([ "[") (number_literal "0x3d") (] "]")) (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }\n    return 0;\n  }" ({ "{") (labeled_statement "LAB_0001a89b:\n    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }" (statement_identifier "LAB_0001a89b") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      FUN_000299b0();\n    }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n      FUN_000299b0();\n    }" ({ "{") (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" (identifier "FUN_000299b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "piVar13 = local_38;" (assignment_expression "piVar13 = local_38" (identifier "piVar13") (= "=") (identifier "local_38")) (; ";")) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x18);" (do "do") (compound_statement "{\n    *(undefined4 *)((int)piVar13 + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar13 + uVar3) = 0;" (assignment_expression "*(undefined4 *)((int)piVar13 + uVar3) = 0" (pointer_expression "*(undefined4 *)((int)piVar13 + uVar3)" (* "*") (cast_expression "(undefined4 *)((int)piVar13 + uVar3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar13 + uVar3)" (( "(") (binary_expression "(int)piVar13 + uVar3" (cast_expression "(int)piVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar13")) (+ "+") (identifier "uVar3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar3 = uVar3 + 4;" (assignment_expression "uVar3 = uVar3 + 4" (identifier "uVar3") (= "=") (binary_expression "uVar3 + 4" (identifier "uVar3") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar3 < 0x18)" (( "(") (binary_expression "uVar3 < 0x18" (identifier "uVar3") (< "<") (number_literal "0x18")) () ")")) (; ";")) (if_statement "if (param_3 == 0x10) {\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }\n  else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }" (if "if") (parenthesized_expression "(param_3 == 0x10)" (( "(") (binary_expression "param_3 == 0x10" (identifier "param_3") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n    local_38[1] = *(undefined4 *)(param_2 + 4);\n    local_38[0] = 2;\n  }" ({ "{") (expression_statement "local_38[1] = *(undefined4 *)(param_2 + 4);" (assignment_expression "local_38[1] = *(undefined4 *)(param_2 + 4)" (subscript_expression "local_38[1]" (identifier "local_38") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(param_2 + 4)" (* "*") (cast_expression "(undefined4 *)(param_2 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_38[0] = 2;" (assignment_expression "local_38[0] = 2" (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else {\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }" (else "else") (compound_statement "{\n    if (param_3 != 0x1c) goto LAB_0001a89b;\n    local_38[1] = *(undefined4 *)(param_2 + 8);\n    local_38[0] = 10;\n    local_38[2] = *(undefined4 *)(param_2 + 0xc);\n    local_38[3] = *(undefined4 *)(param_2 + 0x10);\n    local_28 = *(undefined4 *)(param_2 + 0x14);\n  }" ({ "{") (if_statement "if (param_3 != 0x1c) goto LAB_0001a89b;" (if "if") (parenthesized_expression "(param_3 != 0x1c)" (( "(") (binary_expression "param_3 != 0x1c" (identifier "param_3") (!= "!=") (number_literal "0x1c")) () ")")) (goto_statement "goto LAB_0001a89b;" (goto "goto") (statement_identifier "LAB_0001a89b") (; ";"))) (expression_statement "local_38[1] = *(undefined4 *)(param_2 + 8);" (assignment_expression "local_38[1] = *(undefined4 *)(param_2 + 8)" (subscript_expression "local_38[1]" (identifier "local_38") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(param_2 + 8)" (* "*") (cast_expression "(undefined4 *)(param_2 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_38[0] = 10;" (assignment_expression "local_38[0] = 10" (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "10")) (; ";")) (expression_statement "local_38[2] = *(undefined4 *)(param_2 + 0xc);" (assignment_expression "local_38[2] = *(undefined4 *)(param_2 + 0xc)" (subscript_expression "local_38[2]" (identifier "local_38") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "local_38[3] = *(undefined4 *)(param_2 + 0x10);" (assignment_expression "local_38[3] = *(undefined4 *)(param_2 + 0x10)" (subscript_expression "local_38[3]" (identifier "local_38") ([ "[") (number_literal "3") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_28 = *(undefined4 *)(param_2 + 0x14);" (assignment_expression "local_28 = *(undefined4 *)(param_2 + 0x14)" (identifier "local_28") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (} "}")))) (expression_statement "__mutex = (pthread_mutex_t *)(__rootp + 0x25);" (assignment_expression "__mutex = (pthread_mutex_t *)(__rootp + 0x25)" (identifier "__mutex") (= "=") (cast_expression "(pthread_mutex_t *)(__rootp + 0x25)" (( "(") (type_descriptor "pthread_mutex_t *" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__rootp + 0x25)" (( "(") (binary_expression "__rootp + 0x25" (identifier "__rootp") (+ "+") (number_literal "0x25")) () ")")))) (; ";")) (expression_statement "iVar4 = pthread_mutex_lock(__mutex);" (assignment_expression "iVar4 = pthread_mutex_lock(__mutex)" (identifier "iVar4") (= "=") (call_expression "pthread_mutex_lock(__mutex)" (identifier "pthread_mutex_lock") (argument_list "(__mutex)" (( "(") (identifier "__mutex") () ")")))) (; ";")) (expression_statement "puVar19 = auStack_4c;" (assignment_expression "puVar19 = auStack_4c" (identifier "puVar19") (= "=") (identifier "auStack_4c")) (; ";")) (if_statement "if (iVar4 == 0) {\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_40 = FUN_00019d00;\n    __rootp = __rootp + 0x1e;\n    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);\n    puVar18 = auStack_4c;\n    if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }\n    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1dc;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar19 = puVar18 + -0x10;\n    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;\n    (*DAT_0003506c)();\n  }" ({ "{") (expression_statement "local_40 = FUN_00019d00;" (assignment_expression "local_40 = FUN_00019d00" (identifier "local_40") (= "=") (identifier "FUN_00019d00")) (; ";")) (expression_statement "__rootp = __rootp + 0x1e;" (assignment_expression "__rootp = __rootp + 0x1e" (identifier "__rootp") (= "=") (binary_expression "__rootp + 0x1e" (identifier "__rootp") (+ "+") (number_literal "0x1e"))) (; ";")) (expression_statement "puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);" (assignment_expression "puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)tfind(piVar13,__rootp,FUN_00019d00)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "tfind(piVar13,__rootp,FUN_00019d00)" (identifier "tfind") (argument_list "(piVar13,__rootp,FUN_00019d00)" (( "(") (identifier "piVar13") (, ",") (identifier "__rootp") (, ",") (identifier "FUN_00019d00") () ")"))))) (; ";")) (expression_statement "puVar18 = auStack_4c;" (assignment_expression "puVar18 = auStack_4c" (identifier "puVar18") (= "=") (identifier "auStack_4c")) (; ";")) (if_statement "if (puVar5 != (undefined4 *)0x0) {\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }" (if "if") (parenthesized_expression "(puVar5 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar5 != (undefined4 *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      piVar13 = (int *)*puVar5;\n      if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }\n      puVar18 = &stack0xffffffa4;\n      (*DAT_0003506c)();\n    }" ({ "{") (expression_statement "piVar13 = (int *)*puVar5;" (assignment_expression "piVar13 = (int *)*puVar5" (identifier "piVar13") (= "=") (cast_expression "(int *)*puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (if_statement "if (piVar13[5] != 0) {\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }" (if "if") (parenthesized_expression "(piVar13[5] != 0)" (( "(") (binary_expression "piVar13[5] != 0" (subscript_expression "piVar13[5]" (identifier "piVar13") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar4 = piVar13[5] + -1;\n        piVar13[5] = iVar4;\n        __compar = local_40;\n        if (iVar4 == 0) goto LAB_0001a978;\n        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }\n        goto LAB_0001a89b;\n      }" ({ "{") (expression_statement "iVar4 = piVar13[5] + -1;" (assignment_expression "iVar4 = piVar13[5] + -1" (identifier "iVar4") (= "=") (binary_expression "piVar13[5] + -1" (subscript_expression "piVar13[5]" (identifier "piVar13") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "piVar13[5] = iVar4;" (assignment_expression "piVar13[5] = iVar4" (subscript_expression "piVar13[5]" (identifier "piVar13") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "__compar = local_40;" (assignment_expression "__compar = local_40" (identifier "__compar") (= "=") (identifier "local_40")) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_0001a978;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001a978;" (goto "goto") (statement_identifier "LAB_0001a978") (; ";"))) (while_statement "while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }" (while "while") (parenthesized_expression "(iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0)" (( "(") (comma_expression "iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0" (assignment_expression "iVar4 = pthread_mutex_unlock(__mutex)" (identifier "iVar4") (= "=") (call_expression "pthread_mutex_unlock(__mutex)" (identifier "pthread_mutex_unlock") (argument_list "(__mutex)" (( "(") (identifier "__mutex") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n          FUN_0001a660();\n          __compar = extraout_EDX;\nLAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);\n          free(piVar13);\n        }" ({ "{") (expression_statement "FUN_0001a660();" (call_expression "FUN_0001a660()" (identifier "FUN_0001a660") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "__compar = extraout_EDX;" (assignment_expression "__compar = extraout_EDX" (identifier "__compar") (= "=") (identifier "extraout_EDX")) (; ";")) (labeled_statement "LAB_0001a978:\n          tdelete(piVar13,__rootp,__compar);" (statement_identifier "LAB_0001a978") (: ":") (expression_statement "tdelete(piVar13,__rootp,__compar);" (call_expression "tdelete(piVar13,__rootp,__compar)" (identifier "tdelete") (argument_list "(piVar13,__rootp,__compar)" (( "(") (identifier "piVar13") (, ",") (identifier "__rootp") (, ",") (identifier "__compar") () ")"))) (; ";"))) (expression_statement "free(piVar13);" (call_expression "free(piVar13)" (identifier "free") (argument_list "(piVar13)" (( "(") (identifier "piVar13") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0001a89b;" (goto "goto") (statement_identifier "LAB_0001a89b") (; ";")) (} "}"))) (expression_statement "puVar18 = &stack0xffffffa4;" (assignment_expression "puVar18 = &stack0xffffffa4" (identifier "puVar18") (= "=") (pointer_expression "&stack0xffffffa4" (& "&") (identifier "stack0xffffffa4"))) (; ";")) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" (( "(") (pointer_expression "*DAT_0003506c" (* "*") (identifier "DAT_0003506c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";" (assignment_expression "*(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n"" (pointer_expression "*(char **)(puVar18 + -4)" (* "*") (cast_expression "(char **)(puVar18 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal ""Failed to find previously-added IP address\n"" (" """) (string_content "Failed to find previously-added IP address") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = 0x1dc;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 0x1dc" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1dc")) (; ";")) (expression_statement "*(char **)(puVar18 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar18 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""daemon.c"" (" """) (string_content "daemon.c") (" """))) (; ";")) (expression_statement "puVar19 = puVar18 + -0x10;" (assignment_expression "puVar19 = puVar18 + -0x10" (identifier "puVar19") (= "=") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = DAT_00035068;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = DAT_00035068" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00035068")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x1a9d3" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1a9d3")) (; ";")) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" (( "(") (pointer_expression "*DAT_0003506c" (* "*") (identifier "DAT_0003506c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar19 + -4) = 0x1a9d8;" (assignment_expression "*(undefined4 *)(puVar19 + -4) = 0x1a9d8" (pointer_expression "*(undefined4 *)(puVar19 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -4)" (( "(") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1a9d8")) (; ";")) (expression_statement "uVar24 = FUN_0001a630();" (assignment_expression "uVar24 = FUN_0001a630()" (identifier "uVar24") (= "=") (call_expression "FUN_0001a630()" (identifier "FUN_0001a630") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar3 = (uint)((ulonglong)uVar24 >> 0x20);" (assignment_expression "uVar3 = (uint)((ulonglong)uVar24 >> 0x20)" (identifier "uVar3") (= "=") (call_expression "(uint)((ulonglong)uVar24 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar24")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "piVar16 = (int *)uVar24;" (assignment_expression "piVar16 = (int *)uVar24" (identifier "piVar16") (= "=") (cast_expression "(int *)uVar24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar24"))) (; ";")) (expression_statement "*(int **)(puVar19 + -4) = piVar13;" (assignment_expression "*(int **)(puVar19 + -4) = piVar13" (pointer_expression "*(int **)(puVar19 + -4)" (* "*") (cast_expression "(int **)(puVar19 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -4)" (( "(") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "piVar13")) (; ";")) (expression_statement "*(pthread_mutex_t **)(puVar19 + -8) = __mutex;" (assignment_expression "*(pthread_mutex_t **)(puVar19 + -8) = __mutex" (pointer_expression "*(pthread_mutex_t **)(puVar19 + -8)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar19 + -8)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "__mutex")) (; ";")) (expression_statement "*(void ***)(puVar19 + -0xc) = __rootp;" (assignment_expression "*(void ***)(puVar19 + -0xc) = __rootp" (pointer_expression "*(void ***)(puVar19 + -0xc)" (* "*") (cast_expression "(void ***)(puVar19 + -0xc)" (( "(") (type_descriptor "void ***" (primitive_type "void") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "__rootp")) (; ";")) (expression_statement "*(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;" (assignment_expression "*(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT" (pointer_expression "*(undefined ***)(puVar19 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar19 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar19 + -0x10)" (( "(") (binary_expression "puVar19 + -0x10" (identifier "puVar19") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;" (assignment_expression "*(undefined4 *)(puVar19 + -0x14) = 0x1a9eb" (pointer_expression "*(undefined4 *)(puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1a9eb")) (; ";")) (expression_statement "iVar4 = *(int *)(puVar19 + -0x14);" (assignment_expression "iVar4 = *(int *)(puVar19 + -0x14)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(puVar19 + -0x14)" (* "*") (cast_expression "(int *)(puVar19 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x14)" (( "(") (binary_expression "puVar19 + -0x14" (identifier "puVar19") (+ "+") (number_literal "-0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x40) = extraout_ECX;" (assignment_expression "*(undefined4 *)(puVar19 + -0x40) = extraout_ECX" (pointer_expression "*(undefined4 *)(puVar19 + -0x40)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x40)" (( "(") (binary_expression "puVar19 + -0x40" (identifier "puVar19") (+ "+") (number_literal "-0x40")) () ")")))) (= "=") (identifier "extraout_ECX")) (; ";")) (expression_statement "*(uint *)(puVar19 + -0x44) = uVar3;" (assignment_expression "*(uint *)(puVar19 + -0x44) = uVar3" (pointer_expression "*(uint *)(puVar19 + -0x44)" (* "*") (cast_expression "(uint *)(puVar19 + -0x44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x44)" (( "(") (binary_expression "puVar19 + -0x44" (identifier "puVar19") (+ "+") (number_literal "-0x44")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);" (assignment_expression "*(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc)" (pointer_expression "*(undefined4 *)(puVar19 + -0x3c)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x3c)" (( "(") (binary_expression "puVar19 + -0x3c" (identifier "puVar19") (+ "+") (number_literal "-0x3c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar19 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0xc)" (( "(") (binary_expression "puVar19 + 0xc" (identifier "puVar19") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);" (assignment_expression "*(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8)" (pointer_expression "*(undefined4 *)(puVar19 + -0x38)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x38)" (( "(") (binary_expression "puVar19 + -0x38" (identifier "puVar19") (+ "+") (number_literal "-0x38")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar19 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar19 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 8)" (( "(") (binary_expression "puVar19 + 8" (identifier "puVar19") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar19 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x20)" (( "(") (binary_expression "puVar19 + -0x20" (identifier "puVar19") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "puVar20 = puVar19 + -0x4c;" (assignment_expression "puVar20 = puVar19 + -0x4c" (identifier "puVar20") (= "=") (binary_expression "puVar19 + -0x4c" (identifier "puVar19") (+ "+") (number_literal "-0x4c"))) (; ";")) (if_statement "if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }" (if "if") (parenthesized_expression "(((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0))" (( "(") (binary_expression "((char)*(undefined4 *)(puVar19 + 8) != '\0') &&\n     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)" (parenthesized_expression "((char)*(undefined4 *)(puVar19 + 8) != '\0')" (( "(") (binary_expression "(char)*(undefined4 *)(puVar19 + 8) != '\0'" (cast_expression "(char)*(undefined4 *)(puVar19 + 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(undefined4 *)(puVar19 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar19 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 8)" (( "(") (binary_expression "puVar19 + 8" (identifier "puVar19") (+ "+") (number_literal "8")) () ")"))))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)" (( "(") (comma_expression "iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0" (assignment_expression "iVar12 = piVar16[0x1d]" (identifier "iVar12") (= "=") (subscript_expression "piVar16[0x1d]" (identifier "piVar16") ([ "[") (number_literal "0x1d") (] "]"))) (, ",") (comma_expression "puVar20 = puVar19 + -0x4c, iVar12 != 0" (assignment_expression "puVar20 = puVar19 + -0x4c" (identifier "puVar20") (= "=") (binary_expression "puVar19 + -0x4c" (identifier "puVar19") (+ "+") (number_literal "-0x4c"))) (, ",") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n    uVar1 = piVar16[0x22];\n    if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }\nLAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;\n    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;\n    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));\n    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;\n    piVar7 = __errno_location();\n    puVar21 = puVar19 + -0x4c;\n    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }\nLAB_0001ab3b:\n    puVar20 = puVar21;\n    *piVar7 = 0x17;\n    uVar23 = 0;\nLAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }\n    return uVar23;\n  }" ({ "{") (expression_statement "uVar1 = piVar16[0x22];" (assignment_expression "uVar1 = piVar16[0x22]" (identifier "uVar1") (= "=") (subscript_expression "piVar16[0x22]" (identifier "piVar16") ([ "[") (number_literal "0x22") (] "]"))) (; ";")) (if_statement "if (uVar1 != 0) {\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }" (if "if") (parenthesized_expression "(uVar1 != 0)" (( "(") (binary_expression "uVar1 != 0" (identifier "uVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;\n      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }\n      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];\n      *(undefined4 *)(puVar19 + -0x58) = 1;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;\n      uVar23 = FUN_0001a9e0();\n      puVar20 = puVar19 + -0x4c;\n      goto LAB_0001ab43;\n    }" ({ "{") (expression_statement "iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;" (assignment_expression "iVar6 = (uVar3 % uVar1) * 0x174 + iVar12" (identifier "iVar6") (= "=") (binary_expression "(uVar3 % uVar1) * 0x174 + iVar12" (binary_expression "(uVar3 % uVar1) * 0x174" (parenthesized_expression "(uVar3 % uVar1)" (( "(") (binary_expression "uVar3 % uVar1" (identifier "uVar3") (% "%") (identifier "uVar1")) () ")")) (* "*") (number_literal "0x174")) (+ "+") (identifier "iVar12"))) (; ";")) (if_statement "if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }" (if "if") (parenthesized_expression "(*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8))" (( "(") (binary_expression "*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)" (pointer_expression "*(uint *)(iVar6 + 0xec)" (* "*") (cast_expression "(uint *)(iVar6 + 0xec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xec)" (( "(") (binary_expression "iVar6 + 0xec" (identifier "iVar6") (+ "+") (number_literal "0xec")) () ")")))) (<= "<=") (pointer_expression "*(uint *)(iVar6 + 0xe8)" (* "*") (cast_expression "(uint *)(iVar6 + 0xe8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xe8)" (( "(") (binary_expression "iVar6 + 0xe8" (identifier "iVar6") (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (compound_statement "{\n        piVar16 = *(int **)(puVar19 + -0x44);\n        piVar13 = (int *)(uVar1 + (int)piVar16);\n        do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));\n      }" ({ "{") (expression_statement "piVar16 = *(int **)(puVar19 + -0x44);" (assignment_expression "piVar16 = *(int **)(puVar19 + -0x44)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)(puVar19 + -0x44)" (* "*") (cast_expression "(int **)(puVar19 + -0x44)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -0x44)" (( "(") (binary_expression "puVar19 + -0x44" (identifier "puVar19") (+ "+") (number_literal "-0x44")) () ")"))))) (; ";")) (expression_statement "piVar13 = (int *)(uVar1 + (int)piVar16);" (assignment_expression "piVar13 = (int *)(uVar1 + (int)piVar16)" (identifier "piVar13") (= "=") (cast_expression "(int *)(uVar1 + (int)piVar16)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar1 + (int)piVar16)" (( "(") (binary_expression "uVar1 + (int)piVar16" (identifier "uVar1") (+ "+") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16"))) () ")")))) (; ";")) (do_statement "do {\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));" (do "do") (compound_statement "{\n          piVar16 = (int *)((int)piVar16 + 1);\n          if (piVar13 == piVar16) goto LAB_0001aa90;\n          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;\n        }" ({ "{") (expression_statement "piVar16 = (int *)((int)piVar16 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar16 + 1)" (identifier "piVar16") (= "=") (cast_expression "(int *)((int)piVar16 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar16 + 1)" (( "(") (binary_expression "(int)piVar16 + 1" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (piVar13 == piVar16) goto LAB_0001aa90;" (if "if") (parenthesized_expression "(piVar13 == piVar16)" (( "(") (binary_expression "piVar13 == piVar16" (identifier "piVar13") (== "==") (identifier "piVar16")) () ")")) (goto_statement "goto LAB_0001aa90;" (goto "goto") (statement_identifier "LAB_0001aa90") (; ";"))) (expression_statement "iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;" (assignment_expression "iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174" (identifier "iVar6") (= "=") (binary_expression "iVar12 + ((uint)piVar16 % uVar1) * 0x174" (identifier "iVar12") (+ "+") (binary_expression "((uint)piVar16 % uVar1) * 0x174" (parenthesized_expression "((uint)piVar16 % uVar1)" (( "(") (binary_expression "(uint)piVar16 % uVar1" (cast_expression "(uint)piVar16" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar16")) (% "%") (identifier "uVar1")) () ")")) (* "*") (number_literal "0x174")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8))" (( "(") (binary_expression "*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)" (pointer_expression "*(uint *)(iVar6 + 0xec)" (* "*") (cast_expression "(uint *)(iVar6 + 0xec)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xec)" (( "(") (binary_expression "iVar6 + 0xec" (identifier "iVar6") (+ "+") (number_literal "0xec")) () ")")))) (<= "<=") (pointer_expression "*(uint *)(iVar6 + 0xe8)" (* "*") (cast_expression "(uint *)(iVar6 + 0xe8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xe8)" (( "(") (binary_expression "iVar6 + 0xe8" (identifier "iVar6") (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "*(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];" (assignment_expression "*(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c]" (pointer_expression "*(uint *)(puVar19 + -0x54)" (* "*") (cast_expression "(uint *)(puVar19 + -0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x54)" (( "(") (binary_expression "puVar19 + -0x54" (identifier "puVar19") (+ "+") (number_literal "-0x54")) () ")")))) (= "=") (cast_expression "(uint)(byte)puVar19[-0x3c]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)puVar19[-0x3c]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar19[-0x3c]" (identifier "puVar19") ([ "[") (number_literal "-0x3c") (] "]"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x58) = 1;" (assignment_expression "*(undefined4 *)(puVar19 + -0x58) = 1" (pointer_expression "*(undefined4 *)(puVar19 + -0x58)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x58)" (( "(") (binary_expression "puVar19 + -0x58" (identifier "puVar19") (+ "+") (number_literal "-0x58")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);" (assignment_expression "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4)" (pointer_expression "*(undefined4 *)(puVar19 + -0x5c)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x5c)" (( "(") (binary_expression "puVar19 + -0x5c" (identifier "puVar19") (+ "+") (number_literal "-0x5c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar19 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar19 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 4)" (( "(") (binary_expression "puVar19 + 4" (identifier "puVar19") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x60) = 0x1ae14;" (assignment_expression "*(undefined4 *)(puVar19 + -0x60) = 0x1ae14" (pointer_expression "*(undefined4 *)(puVar19 + -0x60)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x60)" (( "(") (binary_expression "puVar19 + -0x60" (identifier "puVar19") (+ "+") (number_literal "-0x60")) () ")")))) (= "=") (number_literal "0x1ae14")) (; ";")) (expression_statement "uVar23 = FUN_0001a9e0();" (assignment_expression "uVar23 = FUN_0001a9e0()" (identifier "uVar23") (= "=") (call_expression "FUN_0001a9e0()" (identifier "FUN_0001a9e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar20 = puVar19 + -0x4c;" (assignment_expression "puVar20 = puVar19 + -0x4c" (identifier "puVar20") (= "=") (binary_expression "puVar19 + -0x4c" (identifier "puVar19") (+ "+") (number_literal "-0x4c"))) (; ";")) (goto_statement "goto LAB_0001ab43;" (goto "goto") (statement_identifier "LAB_0001ab43") (; ";")) (} "}"))) (labeled_statement "LAB_0001aa90:\n    puVar20 = puVar19 + -0x5c;" (statement_identifier "LAB_0001aa90") (: ":") (expression_statement "puVar20 = puVar19 + -0x5c;" (assignment_expression "puVar20 = puVar19 + -0x5c" (identifier "puVar20") (= "=") (binary_expression "puVar19 + -0x5c" (identifier "puVar19") (+ "+") (number_literal "-0x5c"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);" (assignment_expression "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44)" (pointer_expression "*(undefined4 *)(puVar19 + -0x5c)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x5c)" (( "(") (binary_expression "puVar19 + -0x5c" (identifier "puVar19") (+ "+") (number_literal "-0x5c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar19 + -0x44)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x44)" (( "(") (binary_expression "puVar19 + -0x44" (identifier "puVar19") (+ "+") (number_literal "-0x44")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;" (assignment_expression "*(undefined4 *)(puVar19 + -0x60) = 0x1aa9c" (pointer_expression "*(undefined4 *)(puVar19 + -0x60)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x60)" (( "(") (binary_expression "puVar19 + -0x60" (identifier "puVar19") (+ "+") (number_literal "-0x60")) () ")")))) (= "=") (number_literal "0x1aa9c")) (; ";")) (expression_statement "piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));" (assignment_expression "piVar16 = (int *)close(*(int *)(puVar19 + -0x5c))" (identifier "piVar16") (= "=") (cast_expression "(int *)close(*(int *)(puVar19 + -0x5c))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "close(*(int *)(puVar19 + -0x5c))" (identifier "close") (argument_list "(*(int *)(puVar19 + -0x5c))" (( "(") (pointer_expression "*(int *)(puVar19 + -0x5c)" (* "*") (cast_expression "(int *)(puVar19 + -0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x5c)" (( "(") (binary_expression "puVar19 + -0x5c" (identifier "puVar19") (+ "+") (number_literal "-0x5c")) () ")")))) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;" (assignment_expression "*(undefined4 *)(puVar19 + -0x60) = 0x1aaa3" (pointer_expression "*(undefined4 *)(puVar19 + -0x60)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x60)" (( "(") (binary_expression "puVar19 + -0x60" (identifier "puVar19") (+ "+") (number_literal "-0x60")) () ")")))) (= "=") (number_literal "0x1aaa3")) (; ";")) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" (identifier "piVar7") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar21 = puVar19 + -0x4c;" (assignment_expression "puVar21 = puVar19 + -0x4c" (identifier "puVar21") (= "=") (binary_expression "puVar19 + -0x4c" (identifier "puVar19") (+ "+") (number_literal "-0x4c"))) (; ";")) (if_statement "if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }" (if "if") (parenthesized_expression "((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9))" (( "(") (binary_expression "(piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)" (parenthesized_expression "(piVar16 != (int *)0x0)" (( "(") (binary_expression "piVar16 != (int *)0x0" (identifier "piVar16") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(puVar21 = puVar19 + -0x4c, *piVar7 == 9)" (( "(") (comma_expression "puVar21 = puVar19 + -0x4c, *piVar7 == 9" (assignment_expression "puVar21 = puVar19 + -0x4c" (identifier "puVar21") (= "=") (binary_expression "puVar19 + -0x4c" (identifier "puVar19") (+ "+") (number_literal "-0x4c"))) (, ",") (binary_expression "*piVar7 == 9" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (== "==") (number_literal "9"))) () ")"))) () ")")) (compound_statement "{\n      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;\n      *(undefined4 *)(puVar19 + -0x54) = 0x900;\n      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;\n      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);\n      pcVar2 = *(code **)(iVar4 + 0x1a681);\n      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;\n      (*pcVar2)();\n      goto LAB_0001aae0;\n    }" ({ "{") (expression_statement "*(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar19 + -0x50) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar19 + -0x50)" (* "*") (cast_expression "(int *)(puVar19 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x50)" (( "(") (binary_expression "puVar19 + -0x50" (identifier "puVar19") (+ "+") (number_literal "-0x50")) () ")")))) (= "=") (binary_expression "iVar4 + 0x1066d" (identifier "iVar4") (+ "+") (number_literal "0x1066d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x54) = 0x900;" (assignment_expression "*(undefined4 *)(puVar19 + -0x54) = 0x900" (pointer_expression "*(undefined4 *)(puVar19 + -0x54)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x54)" (( "(") (binary_expression "puVar19 + -0x54" (identifier "puVar19") (+ "+") (number_literal "-0x54")) () ")")))) (= "=") (number_literal "0x900")) (; ";")) (expression_statement "*(int *)(puVar19 + -0x58) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar19 + -0x58) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar19 + -0x58)" (* "*") (cast_expression "(int *)(puVar19 + -0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x58)" (( "(") (binary_expression "puVar19 + -0x58" (identifier "puVar19") (+ "+") (number_literal "-0x58")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar19 + -0x5c)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x5c)" (( "(") (binary_expression "puVar19 + -0x5c" (identifier "puVar19") (+ "+") (number_literal "-0x5c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0x60) = 0x1aad6;" (assignment_expression "*(undefined4 *)(puVar19 + -0x60) = 0x1aad6" (pointer_expression "*(undefined4 *)(puVar19 + -0x60)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0x60)" (( "(") (binary_expression "puVar19 + -0x60" (identifier "puVar19") (+ "+") (number_literal "-0x60")) () ")")))) (= "=") (number_literal "0x1aad6")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001aae0;" (goto "goto") (statement_identifier "LAB_0001aae0") (; ";")) (} "}"))) (labeled_statement "LAB_0001ab3b:\n    puVar20 = puVar21;" (statement_identifier "LAB_0001ab3b") (: ":") (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" (identifier "puVar20") (= "=") (identifier "puVar21")) (; ";"))) (expression_statement "*piVar7 = 0x17;" (assignment_expression "*piVar7 = 0x17" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (number_literal "0x17")) (; ";")) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0001ab43:\n    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }" (statement_identifier "LAB_0001ab43") (: ":") (if_statement "if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar20 + 0x2c)" (* "*") (cast_expression "(int *)(puVar20 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x2c)" (( "(") (binary_expression "puVar20 + 0x2c" (identifier "puVar20") (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;\n      FUN_000299b0();\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b4e1;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b4e1" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b4e1")) (; ";")) (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" (identifier "FUN_000299b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return uVar23;" (return "return") (identifier "uVar23") (; ";")) (} "}"))) (labeled_statement "LAB_0001aae0:\n  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }" (statement_identifier "LAB_0001aae0") (: ":") (if_statement "if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }\n  else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }" (if "if") (parenthesized_expression "((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0))" (( "(") (binary_expression "(*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)" (parenthesized_expression "(*(int *)(puVar20 + 8) < 0x400)" (( "(") (binary_expression "*(int *)(puVar20 + 8) < 0x400" (pointer_expression "*(int *)(puVar20 + 8)" (* "*") (cast_expression "(int *)(puVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")")))) (< "<") (number_literal "0x400")) () ")")) (|| "||") (parenthesized_expression "((piVar16[0x3e] & 0x240U) != 0)" (( "(") (binary_expression "(piVar16[0x3e] & 0x240U) != 0" (parenthesized_expression "(piVar16[0x3e] & 0x240U)" (( "(") (binary_expression "piVar16[0x3e] & 0x240U" (subscript_expression "piVar16[0x3e]" (identifier "piVar16") ([ "[") (number_literal "0x3e") (] "]")) (& "&") (number_literal "0x240U")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    puVar21 = puVar20;\n    piVar9 = piVar13;\n    piVar8 = piVar16;\n    piVar7 = piVar16;\n    if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }\nLAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n    *(int **)(puVar21 + -0x10) = piVar16;\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;\n    FUN_000215b0();\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;\n    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));\n    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;\nLAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar21 + -8) = 0x93d;\n    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n    puVar20 = puVar21 + -0x10;\n    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;\n    (*pcVar2)();\n    piVar13 = piVar9;\nLAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x950;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;\n    (*pcVar2)();\n    puVar20 = puVar20 + -0x10;\nLAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n    *(undefined4 *)(puVar20 + -8) = 0x962;\n    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n    pcVar2 = *(code **)(iVar4 + 0x1a681);\n    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;\n    (*pcVar2)();\n    puVar21 = puVar20 + -0x10;\n  }" ({ "{") (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" (identifier "puVar21") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "piVar9 = piVar13;" (assignment_expression "piVar9 = piVar13" (identifier "piVar9") (= "=") (identifier "piVar13")) (; ";")) (expression_statement "piVar8 = piVar16;" (assignment_expression "piVar8 = piVar16" (identifier "piVar8") (= "=") (identifier "piVar16")) (; ";")) (expression_statement "piVar7 = piVar16;" (assignment_expression "piVar7 = piVar16" (identifier "piVar7") (= "=") (identifier "piVar16")) (; ";")) (if_statement "if (piVar16[0x3a] != piVar16[0x3b]) {\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }" (if "if") (parenthesized_expression "(piVar16[0x3a] != piVar16[0x3b])" (( "(") (binary_expression "piVar16[0x3a] != piVar16[0x3b]" (subscript_expression "piVar16[0x3a]" (identifier "piVar16") ([ "[") (number_literal "0x3a") (] "]")) (!= "!=") (subscript_expression "piVar16[0x3b]" (identifier "piVar16") ([ "[") (number_literal "0x3b") (] "]"))) () ")")) (compound_statement "{\n      do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);\n      if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }\n      do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);\n      do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);\n    }" ({ "{") (do_statement "do {\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      } while ((int *)piVar8[0x1c] != (int *)0x0);" (do "do") (compound_statement "{\n        piVar8 = piVar7;\n        piVar7 = (int *)piVar8[0x1c];\n      }" ({ "{") (expression_statement "piVar8 = piVar7;" (assignment_expression "piVar8 = piVar7" (identifier "piVar8") (= "=") (identifier "piVar7")) (; ";")) (expression_statement "piVar7 = (int *)piVar8[0x1c];" (assignment_expression "piVar7 = (int *)piVar8[0x1c]" (identifier "piVar7") (= "=") (cast_expression "(int *)piVar8[0x1c]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar8[0x1c]" (identifier "piVar8") ([ "[") (number_literal "0x1c") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int *)piVar8[0x1c] != (int *)0x0)" (( "(") (binary_expression "(int *)piVar8[0x1c] != (int *)0x0" (cast_expression "(int *)piVar8[0x1c]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar8[0x1c]" (identifier "piVar8") ([ "[") (number_literal "0x1c") (] "]"))) (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (piVar8[0x3d] != 0) {\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }" (if "if") (parenthesized_expression "(piVar8[0x3d] != 0)" (( "(") (binary_expression "piVar8[0x3d] != 0" (subscript_expression "piVar8[0x3d]" (identifier "piVar8") ([ "[") (number_literal "0x3d") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar20 + -0xc) = 1;\n        *(undefined4 *)(puVar20 + -0x10) = 0x18;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;\n        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        piVar9 = piVar13;\n        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;\n        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;\n        if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;\n        free(*(void **)(puVar20 + -0x10));\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = 0x18;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = 0x18" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x18")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ad7c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ad7c")) (; ";")) (expression_statement "piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));" (assignment_expression "piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" (identifier "piVar13") (= "=") (cast_expression "(int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" (identifier "calloc") (argument_list "(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" (( "(") (pointer_expression "*(size_t *)(puVar20 + -0x10)" (* "*") (cast_expression "(size_t *)(puVar20 + -0x10)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar20 + -0xc)" (* "*") (cast_expression "(size_t *)(puVar20 + -0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))))) (; ";")) (expression_statement "piVar9 = piVar13;" (assignment_expression "piVar9 = piVar13" (identifier "piVar9") (= "=") (identifier "piVar13")) (; ";")) (if_statement "if (piVar13 == (int *)0x0) goto LAB_0001ab0a;" (if "if") (parenthesized_expression "(piVar13 == (int *)0x0)" (( "(") (binary_expression "piVar13 == (int *)0x0" (identifier "piVar13") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001ab0a;" (goto "goto") (statement_identifier "LAB_0001ab0a") (; ";"))) (if_statement "if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;" (if "if") (parenthesized_expression "(*(int *)(puVar20 + 0x50) == 0x10)" (( "(") (binary_expression "*(int *)(puVar20 + 0x50) == 0x10" (pointer_expression "*(int *)(puVar20 + 0x50)" (* "*") (cast_expression "(int *)(puVar20 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x50)" (( "(") (binary_expression "puVar20 + 0x50" (identifier "puVar20") (+ "+") (number_literal "0x50")) () ")")))) (== "==") (number_literal "0x10")) () ")")) (goto_statement "goto LAB_0001b05b;" (goto "goto") (statement_identifier "LAB_0001b05b") (; ";"))) (if_statement "if (*(int *)(puVar20 + 0x50) == 0x1c) {\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }" (if "if") (parenthesized_expression "(*(int *)(puVar20 + 0x50) == 0x1c)" (( "(") (binary_expression "*(int *)(puVar20 + 0x50) == 0x1c" (pointer_expression "*(int *)(puVar20 + 0x50)" (* "*") (cast_expression "(int *)(puVar20 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x50)" (( "(") (binary_expression "puVar20 + 0x50" (identifier "puVar20") (+ "+") (number_literal "0x50")) () ")")))) (== "==") (number_literal "0x1c")) () ")")) (compound_statement "{\n          iVar12 = *(int *)(puVar20 + 0xc);\n          *piVar13 = 10;\n          piVar13[1] = *(int *)(iVar12 + 8);\n          piVar13[2] = *(int *)(iVar12 + 0xc);\n          iVar6 = *(int *)(iVar12 + 0x14);\n          piVar13[3] = *(int *)(iVar12 + 0x10);\n          piVar13[4] = iVar6;\n          goto LAB_0001b06b;\n        }" ({ "{") (expression_statement "iVar12 = *(int *)(puVar20 + 0xc);" (assignment_expression "iVar12 = *(int *)(puVar20 + 0xc)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(puVar20 + 0xc)" (* "*") (cast_expression "(int *)(puVar20 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0xc)" (( "(") (binary_expression "puVar20 + 0xc" (identifier "puVar20") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*piVar13 = 10;" (assignment_expression "*piVar13 = 10" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (= "=") (number_literal "10")) (; ";")) (expression_statement "piVar13[1] = *(int *)(iVar12 + 8);" (assignment_expression "piVar13[1] = *(int *)(iVar12 + 8)" (subscript_expression "piVar13[1]" (identifier "piVar13") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(int *)(iVar12 + 8)" (* "*") (cast_expression "(int *)(iVar12 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 8)" (( "(") (binary_expression "iVar12 + 8" (identifier "iVar12") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "piVar13[2] = *(int *)(iVar12 + 0xc);" (assignment_expression "piVar13[2] = *(int *)(iVar12 + 0xc)" (subscript_expression "piVar13[2]" (identifier "piVar13") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(int *)(iVar12 + 0xc)" (* "*") (cast_expression "(int *)(iVar12 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xc)" (( "(") (binary_expression "iVar12 + 0xc" (identifier "iVar12") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar12 + 0x14);" (assignment_expression "iVar6 = *(int *)(iVar12 + 0x14)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar12 + 0x14)" (* "*") (cast_expression "(int *)(iVar12 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x14)" (( "(") (binary_expression "iVar12 + 0x14" (identifier "iVar12") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "piVar13[3] = *(int *)(iVar12 + 0x10);" (assignment_expression "piVar13[3] = *(int *)(iVar12 + 0x10)" (subscript_expression "piVar13[3]" (identifier "piVar13") ([ "[") (number_literal "3") (] "]")) (= "=") (pointer_expression "*(int *)(iVar12 + 0x10)" (* "*") (cast_expression "(int *)(iVar12 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x10)" (( "(") (binary_expression "iVar12 + 0x10" (identifier "iVar12") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "piVar13[4] = iVar6;" (assignment_expression "piVar13[4] = iVar6" (subscript_expression "piVar13[4]" (identifier "piVar13") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_0001b06b;" (goto "goto") (statement_identifier "LAB_0001b06b") (; ";")) (} "}"))) (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar13")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ada8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ada8" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ada8")) (; ";")) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar20 + -0x10)" (* "*") (cast_expression "(void **)(puVar20 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}"))) (do_statement "do {\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 == 0);" (do "do") (compound_statement "{\n        pcVar2 = (code *)piVar16[0x10];\n        if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }\n        *(undefined4 *)(puVar20 + -0xc) = 0xfc;\n        *(undefined4 *)(puVar20 + -0x10) = 1;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;\n        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));\n        if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(int *)(puVar20 + -0x10) = piVar16[0x1f];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;\n        iVar12 = FUN_000219e0();\n        piVar9[10] = iVar12;\n        if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        piVar9[0x26] = piVar16[0x3c];\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;\n        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));\n        piVar9[0x15] = (int)pvVar10;\n        if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }\n        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n        puVar21 = puVar20 + -0x10;\n        *(void **)(puVar20 + -0x10) = pvVar10;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;\n        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));\n        iVar12 = *(int *)(puVar20 + 0x50);\n        piVar9[6] = (int)piVar16;\n        piVar9[0x24] = iVar12;\n        piVar9[0x29] = *(int *)(puVar20 + 8);\n        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;\n        iVar12 = FUN_00021e50();\n        piVar9[0x25] = iVar12;\n        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }\n        piVar9[0x3b] = 1;\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;\n        FUN_000296b0();\n        *(undefined4 *)(puVar20 + -0xc) = 0x49;\n        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;\n        gnutls_init();\n        *(int *)(puVar20 + -0xc) = piVar16[0x43];\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;\n        gnutls_priority_set();\n        piVar8 = *(int **)(puVar20 + -0xc);\n        *(int **)(puVar20 + -0xc) = piVar9;\n        *(int *)(puVar20 + -0x10) = piVar9[0x38];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;\n        gnutls_session_set_ptr();\n        iVar12 = piVar16[0x44];\n        if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }\n        if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }\n        *(int *)(puVar20 + -8) = iVar12;\n        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;\n        *(int *)(puVar20 + -0x10) = piVar9[6];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;\n        FUN_000215b0();\n        piVar8 = *(int **)(puVar20 + -0x10);\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;\n        iVar12 = close(*(int *)(puVar20 + -0x10));\n        if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }\nLAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;\n        FUN_0001a860();\n        *(int *)(puVar20 + -0x10) = piVar9[0x15];\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;\n        free(*(void **)(puVar20 + -0x10));\n        *(int **)(puVar20 + -0x10) = piVar9;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;\n        free(*(void **)(puVar20 + -0x10));\n        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;\n        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;\n        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;\n        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);\n        pcVar2 = *(code **)(iVar4 + 0x1a681);\n        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;\n        piVar13 = (int *)(*pcVar2)();\n        puVar20 = puVar20 + -0x20;\nLAB_0001b05b:\n        *piVar13 = 2;\n        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);\n        piVar13 = piVar9;\nLAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;\n        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;\n        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n        piVar9 = piVar13;\n        if (iVar12 != 0) goto LAB_0001b5ba;\n        *(int *)(puVar20 + -8) = iVar4 + -0xceb;\n        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;\n        *(int **)(puVar20 + -0x10) = piVar13;\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;\n        puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));\n        puVar21 = puVar20;\n        if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }\n        piVar7 = (int *)*puVar5;\n        if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }\n        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;\n        piVar7[5] = piVar7[5] + 1;\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      }" ({ "{") (expression_statement "pcVar2 = (code *)piVar16[0x10];" (assignment_expression "pcVar2 = (code *)piVar16[0x10]" (identifier "pcVar2") (= "=") (cast_expression "(code *)piVar16[0x10]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar16[0x10]" (identifier "piVar16") ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (if_statement "if (pcVar2 != (code *)0x0) {\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }" (if "if") (parenthesized_expression "(pcVar2 != (code *)0x0)" (( "(") (binary_expression "pcVar2 != (code *)0x0" (identifier "pcVar2") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);\n          *(int *)(puVar20 + -0x10) = piVar16[0x11];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;\n          piVar8 = (int *)(*pcVar2)();\n          if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);" (assignment_expression "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50)" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 0x50)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x50)" (( "(") (binary_expression "puVar20 + 0x50" (identifier "puVar20") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc)" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0xc)" (( "(") (binary_expression "puVar20 + 0xc" (identifier "puVar20") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x11];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x11]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar16[0x11]" (identifier "piVar16") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ab8e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ab8e")) (; ";")) (expression_statement "piVar8 = (int *)(*pcVar2)();" (assignment_expression "piVar8 = (int *)(*pcVar2)()" (identifier "piVar8") (= "=") (cast_expression "(int *)(*pcVar2)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (piVar8 == (int *)0x0) {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }" (if "if") (parenthesized_expression "(piVar8 == (int *)0x0)" (( "(") (binary_expression "piVar8 == (int *)0x0" (identifier "piVar8") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1aec8;\n            FUN_0001a860();\n            uVar23 = 0;\n            goto LAB_0001ab43;\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1aea4;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1aea4" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1aea4")) (; ";")) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "close(*(int *)(puVar20 + -0x10))" (identifier "close") (argument_list "(*(int *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }" (if "if") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;\n              piVar7 = __errno_location();\n              if (*piVar7 == 9) goto LAB_0001b55d;\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1aeb0;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1aeb0" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1aeb0")) (; ";")) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" (identifier "piVar7") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar7 == 9) goto LAB_0001b55d;" (if "if") (parenthesized_expression "(*piVar7 == 9)" (( "(") (binary_expression "*piVar7 == 9" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (== "==") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001b55d;" (goto "goto") (statement_identifier "LAB_0001b55d") (; ";"))) (} "}"))) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1aec8;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1aec8" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1aec8")) (; ";")) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" (identifier "FUN_0001a860") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001ab43;" (goto "goto") (statement_identifier "LAB_0001ab43") (; ";")) (} "}"))) (} "}"))) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 0xfc;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 0xfc" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xfc")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1abaa;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1abaa" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1abaa")) (; ";")) (expression_statement "piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));" (assignment_expression "piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" (identifier "piVar9") (= "=") (cast_expression "(int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" (identifier "calloc") (argument_list "(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc))" (( "(") (pointer_expression "*(size_t *)(puVar20 + -0x10)" (* "*") (cast_expression "(size_t *)(puVar20 + -0x10)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar20 + -0xc)" (* "*") (cast_expression "(size_t *)(puVar20 + -0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))))) (; ";")) (if_statement "if (piVar9 == (int *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" (if "if") (parenthesized_expression "(piVar9 == (int *)0x0)" (( "(") (binary_expression "piVar9 == (int *)0x0" (identifier "piVar9") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar20 + -4) = 0x1aed5;\n          piVar8 = __errno_location();\n          piVar13 = (int *)*piVar8;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;\n          *(undefined4 *)(puVar20 + -4) = 0x1af1c;\n          FUN_0001a860();\n          *piVar8 = (int)piVar13;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1aed5;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1aed5" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1aed5")) (; ";")) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar13 = (int *)*piVar8;" (assignment_expression "piVar13 = (int *)*piVar8" (identifier "piVar13") (= "=") (cast_expression "(int *)*piVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar8" (* "*") (identifier "piVar8")))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar13")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1aee2;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1aee2" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1aee2")) (; ";")) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" (identifier "pcVar14") (= "=") (call_expression "strerror(*(int *)(puVar20 + -0x10))" (identifier "strerror") (argument_list "(*(int *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" (* "*") (cast_expression "(char **)(puVar20 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10683" (identifier "iVar4") (+ "+") (number_literal "0x10683"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1aef3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1aef3" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1aef3")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1aefd;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1aefd" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1aefd")) (; ";")) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "close(*(int *)(puVar20 + -0x10))" (identifier "close") (argument_list "(*(int *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;" (if "if") (parenthesized_expression "((iVar12 != 0) && (*piVar8 == 9))" (( "(") (binary_expression "(iVar12 != 0) && (*piVar8 == 9)" (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar8 == 9)" (( "(") (binary_expression "*piVar8 == 9" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (== "==") (number_literal "9")) () ")"))) () ")")) (goto_statement "goto LAB_0001b57c;" (goto "goto") (statement_identifier "LAB_0001b57c") (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1af1c;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1af1c" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1af1c")) (; ";")) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" (identifier "FUN_0001a860") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*piVar8 = (int)piVar13;" (assignment_expression "*piVar8 = (int)piVar13" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (cast_expression "(int)piVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar13"))) (; ";")) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001ab43;" (goto "goto") (statement_identifier "LAB_0001ab43") (; ";")) (} "}"))) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x1f];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x1f]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar16[0x1f]" (identifier "piVar16") ([ "[") (number_literal "0x1f") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1abc2;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1abc2" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1abc2")) (; ";")) (expression_statement "iVar12 = FUN_000219e0();" (assignment_expression "iVar12 = FUN_000219e0()" (identifier "iVar12") (= "=") (call_expression "FUN_000219e0()" (identifier "FUN_000219e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar9[10] = iVar12;" (assignment_expression "piVar9[10] = iVar12" (subscript_expression "piVar9[10]" (identifier "piVar9") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (if_statement "if (iVar12 == 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar20 + -4) = 0x1af2a;\n          piVar8 = __errno_location();\n          *(int *)(puVar20 + -0x10) = *piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;\n          *(undefined4 *)(puVar20 + -4) = 0x1af70;\n          FUN_0001a860();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = 0xc;\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1af2a;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1af2a" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1af2a")) (; ";")) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = *piVar8;" (assignment_expression "*(int *)(puVar20 + -0x10) = *piVar8" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af36;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af36" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1af36")) (; ";")) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" (identifier "pcVar14") (= "=") (call_expression "strerror(*(int *)(puVar20 + -0x10))" (identifier "strerror") (argument_list "(*(int *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" (* "*") (cast_expression "(char **)(puVar20 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10683" (identifier "iVar4") (+ "+") (number_literal "0x10683"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af47;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af47" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1af47")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af51;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af51" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1af51")) (; ";")) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "close(*(int *)(puVar20 + -0x10))" (identifier "close") (argument_list "(*(int *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;" (if "if") (parenthesized_expression "((iVar12 != 0) && (*piVar8 == 9))" (( "(") (binary_expression "(iVar12 != 0) && (*piVar8 == 9)" (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar8 == 9)" (( "(") (binary_expression "*piVar8 == 9" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (== "==") (number_literal "9")) () ")"))) () ")")) (goto_statement "goto LAB_0001b63b;" (goto "goto") (statement_identifier "LAB_0001b63b") (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1af70;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1af70" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1af70")) (; ";")) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" (identifier "FUN_0001a860") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af79;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af79" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1af79")) (; ";")) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar20 + -0x10)" (* "*") (cast_expression "(void **)(puVar20 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*piVar8 = 0xc;" (assignment_expression "*piVar8 = 0xc" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (number_literal "0xc")) (; ";")) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001ab43;" (goto "goto") (statement_identifier "LAB_0001ab43") (; ";")) (} "}"))) (expression_statement "piVar9[0x26] = piVar16[0x3c];" (assignment_expression "piVar9[0x26] = piVar16[0x3c]" (subscript_expression "piVar9[0x26]" (identifier "piVar9") ([ "[") (number_literal "0x26") (] "]")) (= "=") (subscript_expression "piVar16[0x3c]" (identifier "piVar16") ([ "[") (number_literal "0x3c") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 0x50)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x50)" (( "(") (binary_expression "puVar20 + 0x50" (identifier "puVar20") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1abe8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1abe8" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1abe8")) (; ";")) (expression_statement "pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));" (assignment_expression "pvVar10 = malloc(*(size_t *)(puVar20 + -0x10))" (identifier "pvVar10") (= "=") (call_expression "malloc(*(size_t *)(puVar20 + -0x10))" (identifier "malloc") (argument_list "(*(size_t *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(size_t *)(puVar20 + -0x10)" (* "*") (cast_expression "(size_t *)(puVar20 + -0x10)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar9[0x15] = (int)pvVar10;" (assignment_expression "piVar9[0x15] = (int)pvVar10" (subscript_expression "piVar9[0x15]" (identifier "piVar9") ([ "[") (number_literal "0x15") (] "]")) (= "=") (cast_expression "(int)pvVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar10"))) (; ";")) (if_statement "if (pvVar10 == (void *)0x0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" (if "if") (parenthesized_expression "(pvVar10 == (void *)0x0)" (( "(") (binary_expression "pvVar10 == (void *)0x0" (identifier "pvVar10") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar20 + -4) = 0x1ae23;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          *(int *)(puVar20 + 0x10) = iVar12;\n          *(int *)(puVar20 + -0x10) = iVar12;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;\n          pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n          *(char **)(puVar20 + -8) = pcVar14;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;\n          *(int **)(puVar20 + -0x10) = piVar16;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;\n          iVar12 = close(*(int *)(puVar20 + -0x10));\n          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;\n          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;\n          FUN_0001a860();\n          *(int *)(puVar20 + -0x10) = piVar9[10];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;\n          FUN_00021a90();\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;\n          free(*(void **)(puVar20 + -0x10));\n          *piVar8 = *(int *)(puVar20 + 0x10);\n          uVar23 = 0;\n          goto LAB_0001ab43;\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1ae23;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1ae23" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1ae23")) (; ";")) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar12 = *piVar8;" (assignment_expression "iVar12 = *piVar8" (identifier "iVar12") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "*(int *)(puVar20 + 0x10) = iVar12;" (assignment_expression "*(int *)(puVar20 + 0x10) = iVar12" (pointer_expression "*(int *)(puVar20 + 0x10)" (* "*") (cast_expression "(int *)(puVar20 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x10)" (( "(") (binary_expression "puVar20 + 0x10" (identifier "puVar20") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar20 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae34;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae34" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ae34")) (; ";")) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" (identifier "pcVar14") (= "=") (call_expression "strerror(*(int *)(puVar20 + -0x10))" (identifier "strerror") (argument_list "(*(int *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" (* "*") (cast_expression "(char **)(puVar20 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10683" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10683" (identifier "iVar4") (+ "+") (number_literal "0x10683"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae45;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae45" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ae45")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae4f" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ae4f")) (; ";")) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "close(*(int *)(puVar20 + -0x10))" (identifier "close") (argument_list "(*(int *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;" (if "if") (parenthesized_expression "((iVar12 != 0) && (*piVar8 == 9))" (( "(") (binary_expression "(iVar12 != 0) && (*piVar8 == 9)" (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar8 == 9)" (( "(") (binary_expression "*piVar8 == 9" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (== "==") (number_literal "9")) () ")"))) () ")")) (goto_statement "goto LAB_0001b61c;" (goto "goto") (statement_identifier "LAB_0001b61c") (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1ae6e;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1ae6e" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1ae6e")) (; ";")) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" (identifier "FUN_0001a860") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[10];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[10]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar9[10]" (identifier "piVar9") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae79;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae79" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ae79")) (; ";")) (expression_statement "FUN_00021a90();" (call_expression "FUN_00021a90()" (identifier "FUN_00021a90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ae81;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ae81" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ae81")) (; ";")) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar20 + -0x10)" (* "*") (cast_expression "(void **)(puVar20 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*piVar8 = *(int *)(puVar20 + 0x10);" (assignment_expression "*piVar8 = *(int *)(puVar20 + 0x10)" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (pointer_expression "*(int *)(puVar20 + 0x10)" (* "*") (cast_expression "(int *)(puVar20 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x10)" (( "(") (binary_expression "puVar20 + 0x10" (identifier "puVar20") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001ab43;" (goto "goto") (statement_identifier "LAB_0001ab43") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);" (assignment_expression "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50)" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 0x50)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x50)" (( "(") (binary_expression "puVar20 + 0x50" (identifier "puVar20") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc)" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0xc)" (( "(") (binary_expression "puVar20 + 0xc" (identifier "puVar20") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(void **)(puVar20 + -0x10) = pvVar10;" (assignment_expression "*(void **)(puVar20 + -0x10) = pvVar10" (pointer_expression "*(void **)(puVar20 + -0x10)" (* "*") (cast_expression "(void **)(puVar20 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pvVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ac07;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ac07" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ac07")) (; ";")) (expression_statement "memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));" (call_expression "memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8))" (identifier "memcpy") (argument_list "(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8))" (( "(") (pointer_expression "*(void **)(puVar20 + -0x10)" (* "*") (cast_expression "(void **)(puVar20 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(void **)(puVar20 + -0xc)" (* "*") (cast_expression "(void **)(puVar20 + -0xc)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar20 + -8)" (* "*") (cast_expression "(size_t *)(puVar20 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar12 = *(int *)(puVar20 + 0x50);" (assignment_expression "iVar12 = *(int *)(puVar20 + 0x50)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(puVar20 + 0x50)" (* "*") (cast_expression "(int *)(puVar20 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x50)" (( "(") (binary_expression "puVar20 + 0x50" (identifier "puVar20") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "piVar9[6] = (int)piVar16;" (assignment_expression "piVar9[6] = (int)piVar16" (subscript_expression "piVar9[6]" (identifier "piVar9") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16"))) (; ";")) (expression_statement "piVar9[0x24] = iVar12;" (assignment_expression "piVar9[0x24] = iVar12" (subscript_expression "piVar9[0x24]" (identifier "piVar9") ([ "[") (number_literal "0x24") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "piVar9[0x29] = *(int *)(puVar20 + 8);" (assignment_expression "piVar9[0x29] = *(int *)(puVar20 + 8)" (subscript_expression "piVar9[0x29]" (identifier "piVar9") ([ "[") (number_literal "0x29") (] "]")) (= "=") (pointer_expression "*(int *)(puVar20 + 8)" (* "*") (cast_expression "(int *)(puVar20 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];" (assignment_expression "*(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10]" (pointer_expression "*(undefined1 *)(piVar9 + 0x2a)" (* "*") (cast_expression "(undefined1 *)(piVar9 + 0x2a)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 0x2a)" (( "(") (binary_expression "piVar9 + 0x2a" (identifier "piVar9") (+ "+") (number_literal "0x2a")) () ")")))) (= "=") (subscript_expression "puVar20[0x10]" (identifier "puVar20") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ac2e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ac2e")) (; ";")) (expression_statement "iVar12 = FUN_00021e50();" (assignment_expression "iVar12 = FUN_00021e50()" (identifier "iVar12") (= "=") (call_expression "FUN_00021e50()" (identifier "FUN_00021e50") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar9[0x25] = iVar12;" (assignment_expression "piVar9[0x25] = iVar12" (subscript_expression "piVar9[0x25]" (identifier "piVar9") ([ "[") (number_literal "0x25") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (if_statement "if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }" (if "if") (parenthesized_expression "((*(byte *)(piVar16 + 0x3e) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(piVar16 + 0x3e) & 2) == 0" (parenthesized_expression "(*(byte *)(piVar16 + 0x3e) & 2)" (( "(") (binary_expression "*(byte *)(piVar16 + 0x3e) & 2" (pointer_expression "*(byte *)(piVar16 + 0x3e)" (* "*") (cast_expression "(byte *)(piVar16 + 0x3e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar16 + 0x3e)" (( "(") (binary_expression "piVar16 + 0x3e" (identifier "piVar16") (+ "+") (number_literal "0x3e")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(int **)(puVar20 + -0x10) = piVar9;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;\n          FUN_00016110();\nLAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;\n          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;\n          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          puVar21 = puVar20;\n          if (iVar12 != 0) goto LAB_0001b5bf;\n          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n          *(undefined4 *)(puVar20 + -8) = 0xa67;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          puVar21 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;\n          (*pcVar2)();\n          goto LAB_0001b53e;\n        }" ({ "{") (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ac4d" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ac4d")) (; ";")) (expression_statement "FUN_00016110();" (call_expression "FUN_00016110()" (identifier "FUN_00016110") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001ac50:\n          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;" (statement_identifier "LAB_0001ac50") (: ":") (expression_statement "*(int **)(puVar20 + 0x10) = piVar16 + 0x2b;" (assignment_expression "*(int **)(puVar20 + 0x10) = piVar16 + 0x2b" (pointer_expression "*(int **)(puVar20 + 0x10)" (* "*") (cast_expression "(int **)(puVar20 + 0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x10)" (( "(") (binary_expression "puVar20 + 0x10" (identifier "puVar20") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "piVar16 + 0x2b" (identifier "piVar16") (+ "+") (number_literal "0x2b"))) (; ";"))) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16 + 0x2b;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16 + 0x2b" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "piVar16 + 0x2b" (identifier "piVar16") (+ "+") (number_literal "0x2b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1ac63;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1ac63" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ac63")) (; ";")) (expression_statement "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "pthread_mutex_lock") (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" (identifier "puVar21") (= "=") (identifier "puVar20")) (; ";")) (if_statement "if (iVar12 != 0) goto LAB_0001b5bf;" (if "if") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001b5bf;" (goto "goto") (statement_identifier "LAB_0001b5bf") (; ";"))) (if_statement "if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }" (if "if") (parenthesized_expression "((uint)piVar16[0x3a] < (uint)piVar16[0x3b])" (( "(") (binary_expression "(uint)piVar16[0x3a] < (uint)piVar16[0x3b]" (cast_expression "(uint)piVar16[0x3a]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar16[0x3a]" (identifier "piVar16") ([ "[") (number_literal "0x3a") (] "]"))) (< "<") (cast_expression "(uint)piVar16[0x3b]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar16[0x3b]" (identifier "piVar16") ([ "[") (number_literal "0x3b") (] "]")))) () ")")) (compound_statement "{\n            piVar16[0x3a] = piVar16[0x3a] + 1;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }\n            iVar12 = piVar16[2];\n            piVar8 = (int *)piVar16[3];\n            piVar9[3] = 0;\n            piVar9[2] = iVar12;\n            if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }\n            piVar16[2] = (int)piVar9;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5fd;\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }\n            uVar3 = piVar16[0x3e];\n            if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }\n            if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;\n            *(int **)(puVar20 + 0x24) = piVar9;\n            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;\n            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar16[0x33];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;\n            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));\n            if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b487;\n            piVar8 = __errno_location();\n            piVar8 = (int *)*piVar8;\n            *(int **)(puVar20 + -0x10) = piVar8;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;\n            pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n            *(char **)(puVar20 + -8) = pcVar14;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;\n            *(int **)(puVar20 + -0x10) = piVar16;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;\n            FUN_000215b0();\nLAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];\n            if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }\n            if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;\n            iVar12 = close(*(int *)(puVar20 + -0x10));\n            if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }\n            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;\n            FUN_0001a860();\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;\n            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 != 0) goto LAB_0001b5de;\n            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }\n            iVar12 = piVar9[2];\n            if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }\n            if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }\n            piVar9[2] = 0;\n            piVar9[3] = 0;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }\n          }" ({ "{") (expression_statement "piVar16[0x3a] = piVar16[0x3a] + 1;" (assignment_expression "piVar16[0x3a] = piVar16[0x3a] + 1" (subscript_expression "piVar16[0x3a]" (identifier "piVar16") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (binary_expression "piVar16[0x3a] + 1" (subscript_expression "piVar16[0x3a]" (identifier "piVar16") ([ "[") (number_literal "0x3a") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }" (if "if") (parenthesized_expression "((*(byte *)(piVar16 + 0x3e) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(piVar16 + 0x3e) & 4) == 0" (parenthesized_expression "(*(byte *)(piVar16 + 0x3e) & 4)" (( "(") (binary_expression "*(byte *)(piVar16 + 0x3e) & 4" (pointer_expression "*(byte *)(piVar16 + 0x3e)" (* "*") (cast_expression "(byte *)(piVar16 + 0x3e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar16 + 0x3e)" (( "(") (binary_expression "piVar16 + 0x3e" (identifier "piVar16") (+ "+") (number_literal "0x3e")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar12 = piVar16[0xc];\n              iVar6 = piVar16[0xd];\n              piVar9[5] = 0;\n              piVar9[4] = iVar12;\n              if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }\n              piVar16[0xc] = (int)piVar9;\n            }" ({ "{") (expression_statement "iVar12 = piVar16[0xc];" (assignment_expression "iVar12 = piVar16[0xc]" (identifier "iVar12") (= "=") (subscript_expression "piVar16[0xc]" (identifier "piVar16") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "iVar6 = piVar16[0xd];" (assignment_expression "iVar6 = piVar16[0xd]" (identifier "iVar6") (= "=") (subscript_expression "piVar16[0xd]" (identifier "piVar16") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (expression_statement "piVar9[5] = 0;" (assignment_expression "piVar9[5] = 0" (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[4] = iVar12;" (assignment_expression "piVar9[4] = iVar12" (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (if_statement "if (iVar6 == 0) {\n                piVar16[0xd] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                piVar16[0xd] = (int)piVar9;\n              }" ({ "{") (expression_statement "piVar16[0xd] = (int)piVar9;" (assignment_expression "piVar16[0xd] = (int)piVar9" (subscript_expression "piVar16[0xd]" (identifier "piVar16") ([ "[") (number_literal "0xd") (] "]")) (= "=") (cast_expression "(int)piVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar9"))) (; ";")) (} "}")) (else_clause "else {\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }" (else "else") (compound_statement "{\n                *(int **)(iVar12 + 0x14) = piVar9;\n              }" ({ "{") (expression_statement "*(int **)(iVar12 + 0x14) = piVar9;" (assignment_expression "*(int **)(iVar12 + 0x14) = piVar9" (pointer_expression "*(int **)(iVar12 + 0x14)" (* "*") (cast_expression "(int **)(iVar12 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar12 + 0x14)" (( "(") (binary_expression "iVar12 + 0x14" (identifier "iVar12") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (} "}")))) (expression_statement "piVar16[0xc] = (int)piVar9;" (assignment_expression "piVar16[0xc] = (int)piVar9" (subscript_expression "piVar16[0xc]" (identifier "piVar16") ([ "[") (number_literal "0xc") (] "]")) (= "=") (cast_expression "(int)piVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar9"))) (; ";")) (} "}"))) (expression_statement "iVar12 = piVar16[2];" (assignment_expression "iVar12 = piVar16[2]" (identifier "iVar12") (= "=") (subscript_expression "piVar16[2]" (identifier "piVar16") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "piVar8 = (int *)piVar16[3];" (assignment_expression "piVar8 = (int *)piVar16[3]" (identifier "piVar8") (= "=") (cast_expression "(int *)piVar16[3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar16[3]" (identifier "piVar16") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[2] = iVar12;" (assignment_expression "piVar9[2] = iVar12" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (if_statement "if (piVar8 == (int *)0x0) {\n              piVar16[3] = (int)piVar9;\n            }\n            else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }" (if "if") (parenthesized_expression "(piVar8 == (int *)0x0)" (( "(") (binary_expression "piVar8 == (int *)0x0" (identifier "piVar8") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              piVar16[3] = (int)piVar9;\n            }" ({ "{") (expression_statement "piVar16[3] = (int)piVar9;" (assignment_expression "piVar16[3] = (int)piVar9" (subscript_expression "piVar16[3]" (identifier "piVar16") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(int)piVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar9"))) (; ";")) (} "}")) (else_clause "else {\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }" (else "else") (compound_statement "{\n              *(int **)(iVar12 + 0xc) = piVar9;\n            }" ({ "{") (expression_statement "*(int **)(iVar12 + 0xc) = piVar9;" (assignment_expression "*(int **)(iVar12 + 0xc) = piVar9" (pointer_expression "*(int **)(iVar12 + 0xc)" (* "*") (cast_expression "(int **)(iVar12 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar12 + 0xc)" (( "(") (binary_expression "iVar12 + 0xc" (identifier "iVar12") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (} "}")))) (expression_statement "piVar16[2] = (int)piVar9;" (assignment_expression "piVar16[2] = (int)piVar9" (subscript_expression "piVar16[2]" (identifier "piVar16") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int)piVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar9"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x10)" (( "(") (binary_expression "puVar20 + 0x10" (identifier "puVar20") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1acda;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1acda" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1acda")) (; ";")) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "pthread_mutex_unlock") (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar12 != 0) goto LAB_0001b5fd;" (if "if") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001b5fd;" (goto "goto") (statement_identifier "LAB_0001b5fd") (; ";"))) (expression_statement "pcVar2 = (code *)piVar16[0x14];" (assignment_expression "pcVar2 = (code *)piVar16[0x14]" (identifier "pcVar2") (= "=") (cast_expression "(code *)piVar16[0x14]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar16[0x14]" (identifier "piVar16") ([ "[") (number_literal "0x14") (] "]")))) (; ";")) (if_statement "if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }" (if "if") (parenthesized_expression "(pcVar2 != (code *)0x0)" (( "(") (binary_expression "pcVar2 != (code *)0x0" (identifier "pcVar2") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar20 + -4) = 0;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;\n              (*pcVar2)();\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int **)(puVar20 + -8) = piVar9 + 0xc;" (assignment_expression "*(int **)(puVar20 + -8) = piVar9 + 0xc" (pointer_expression "*(int **)(puVar20 + -8)" (* "*") (cast_expression "(int **)(puVar20 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "piVar9 + 0xc" (identifier "piVar9") (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0xc) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0xc) = piVar9" (pointer_expression "*(int **)(puVar20 + -0xc)" (* "*") (cast_expression "(int **)(puVar20 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x15];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x15]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar16[0x15]" (identifier "piVar16") ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1acf8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1acf8" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1acf8")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar3 = piVar16[0x3e];" (assignment_expression "uVar3 = piVar16[0x3e]" (identifier "uVar3") (= "=") (subscript_expression "piVar16[0x3e]" (identifier "piVar16") ([ "[") (number_literal "0x3e") (] "]"))) (; ";")) (if_statement "if ((uVar3 & 4) == 0) {\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }\n            else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }" (if "if") (parenthesized_expression "((uVar3 & 4) == 0)" (( "(") (binary_expression "(uVar3 & 4) == 0" (parenthesized_expression "(uVar3 & 4)" (( "(") (binary_expression "uVar3 & 4" (identifier "uVar3") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar12 = piVar16[0x24];\n              piVar9[0x16] = piVar16[0x23];\n              piVar9[0x17] = iVar12;\n            }" ({ "{") (expression_statement "iVar12 = piVar16[0x24];" (assignment_expression "iVar12 = piVar16[0x24]" (identifier "iVar12") (= "=") (subscript_expression "piVar16[0x24]" (identifier "piVar16") ([ "[") (number_literal "0x24") (] "]"))) (; ";")) (expression_statement "piVar9[0x16] = piVar16[0x23];" (assignment_expression "piVar9[0x16] = piVar16[0x23]" (subscript_expression "piVar9[0x16]" (identifier "piVar9") ([ "[") (number_literal "0x16") (] "]")) (= "=") (subscript_expression "piVar16[0x23]" (identifier "piVar16") ([ "[") (number_literal "0x23") (] "]"))) (; ";")) (expression_statement "piVar9[0x17] = iVar12;" (assignment_expression "piVar9[0x17] = iVar12" (subscript_expression "piVar9[0x17]" (identifier "piVar9") ([ "[") (number_literal "0x17") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (} "}")) (else_clause "else {\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }" (else "else") (compound_statement "{\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;\n              *(int *)(puVar20 + -0x18) = piVar16[0x21];\n              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;\n              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;\n              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;\n              iVar12 = FUN_00023b50();\n              if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }\n              uVar3 = piVar16[0x3e];\n            }" ({ "{") (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;" (assignment_expression "*(int *)(puVar20 + -0x14) = iVar4 + 0x1e35" (pointer_expression "*(int *)(puVar20 + -0x14)" (* "*") (cast_expression "(int *)(puVar20 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "iVar4 + 0x1e35" (identifier "iVar4") (+ "+") (number_literal "0x1e35"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x18) = piVar16[0x21];" (assignment_expression "*(int *)(puVar20 + -0x18) = piVar16[0x21]" (pointer_expression "*(int *)(puVar20 + -0x18)" (* "*") (cast_expression "(int *)(puVar20 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x18)" (( "(") (binary_expression "puVar20 + -0x18" (identifier "puVar20") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "piVar16[0x21]" (identifier "piVar16") ([ "[") (number_literal "0x21") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;" (assignment_expression "*(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8" (pointer_expression "*(int *)(puVar20 + -0x1c)" (* "*") (cast_expression "(int *)(puVar20 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x1c)" (( "(") (binary_expression "puVar20 + -0x1c" (identifier "puVar20") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (binary_expression "iVar4 + 0x106b8" (identifier "iVar4") (+ "+") (number_literal "0x106b8"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x20) = piVar9 + 0x16;" (assignment_expression "*(int **)(puVar20 + -0x20) = piVar9 + 0x16" (pointer_expression "*(int **)(puVar20 + -0x20)" (* "*") (cast_expression "(int **)(puVar20 + -0x20)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x20)" (( "(") (binary_expression "puVar20 + -0x20" (identifier "puVar20") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (binary_expression "piVar9 + 0x16" (identifier "piVar9") (+ "+") (number_literal "0x16"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;" (assignment_expression "*(undefined4 *)(puVar20 + -0x24) = 0x1b2fe" (pointer_expression "*(undefined4 *)(puVar20 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x24)" (( "(") (binary_expression "puVar20 + -0x24" (identifier "puVar20") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1b2fe")) (; ";")) (expression_statement "iVar12 = FUN_00023b50();" (assignment_expression "iVar12 = FUN_00023b50()" (identifier "iVar12") (= "=") (call_expression "FUN_00023b50()" (identifier "FUN_00023b50") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar12 == 0) {\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;\n                piVar8 = __errno_location();\n                piVar8 = (int *)*piVar8;\n                *(int **)(puVar20 + -0x10) = piVar8;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x10));\n                *(char **)(puVar20 + -8) = pcVar14;\n                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;\n                *(int **)(puVar20 + -0x10) = piVar16;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;\n                FUN_000215b0();\n                goto LAB_0001b19b;\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b4b0;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b4b0" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b4b0")) (; ";")) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar8 = (int *)*piVar8;" (assignment_expression "piVar8 = (int *)*piVar8" (identifier "piVar8") (= "=") (cast_expression "(int *)*piVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar8" (* "*") (identifier "piVar8")))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b4bb" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b4bb")) (; ";")) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" (identifier "pcVar14") (= "=") (call_expression "strerror(*(int *)(puVar20 + -0x10))" (identifier "strerror") (argument_list "(*(int *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" (* "*") (cast_expression "(char **)(puVar20 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "*(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;" (assignment_expression "*(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb" (pointer_expression "*(char **)(puVar20 + -0xc)" (* "*") (cast_expression "(char **)(puVar20 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression ""gnutls_malloc" + iVar4 + 0xb" (binary_expression ""gnutls_malloc" + iVar4" (string_literal ""gnutls_malloc"" (" """) (string_content "gnutls_malloc") (" """)) (+ "+") (identifier "iVar4")) (+ "+") (number_literal "0xb"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b4cc" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b4cc")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001b19b;" (goto "goto") (statement_identifier "LAB_0001b19b") (; ";")) (} "}"))) (expression_statement "uVar3 = piVar16[0x3e];" (assignment_expression "uVar3 = piVar16[0x3e]" (identifier "uVar3") (= "=") (subscript_expression "piVar16[0x3e]" (identifier "piVar16") ([ "[") (number_literal "0x3e") (] "]"))) (; ";")) (} "}")))) (if_statement "if ((uVar3 & 0x200) == 0) {\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" (if "if") (parenthesized_expression "((uVar3 & 0x200) == 0)" (( "(") (binary_expression "(uVar3 & 0x200) == 0" (parenthesized_expression "(uVar3 & 0x200)" (( "(") (binary_expression "uVar3 & 0x200" (identifier "uVar3") (& "&") (number_literal "0x200")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" ({ "{") (if_statement "if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)) {\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }" (if "if") (parenthesized_expression "((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1))" (( "(") (binary_expression "(((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&\n                 (iVar12 = piVar16[0x37], iVar12 != -1)" (parenthesized_expression "(((uVar3 & 4) == 0) && (puVar20[0x14] != '\0'))" (( "(") (binary_expression "((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')" (parenthesized_expression "((uVar3 & 4) == 0)" (( "(") (binary_expression "(uVar3 & 4) == 0" (parenthesized_expression "(uVar3 & 4)" (( "(") (binary_expression "uVar3 & 4" (identifier "uVar3") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar20[0x14] != '\0')" (( "(") (binary_expression "puVar20[0x14] != '\0'" (subscript_expression "puVar20[0x14]" (identifier "puVar20") ([ "[") (number_literal "0x14") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar12 = piVar16[0x37], iVar12 != -1)" (( "(") (comma_expression "iVar12 = piVar16[0x37], iVar12 != -1" (assignment_expression "iVar12 = piVar16[0x37]" (identifier "iVar12") (= "=") (subscript_expression "piVar16[0x37]" (identifier "piVar16") ([ "[") (number_literal "0x37") (] "]"))) (, ",") (binary_expression "iVar12 != -1" (identifier "iVar12") (!= "!=") (number_literal "-1"))) () ")"))) () ")")) (compound_statement "{\n                *(undefined4 *)(puVar20 + -8) = 8;\n                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;\n                *(int *)(puVar20 + -0x10) = iVar12;\n                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;\n                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));\n                if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -8) = 8;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 8" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "8")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x11e05" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x11e05" (identifier "iVar4") (+ "+") (number_literal "0x11e05"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar20 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b423;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b423" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b423")) (; ";")) (expression_statement "sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8));" (assignment_expression "sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8))" (identifier "sVar11") (= "=") (call_expression "write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8))" (identifier "write") (argument_list "(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),\n                               *(size_t *)(puVar20 + -8))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(void **)(puVar20 + -0xc)" (* "*") (cast_expression "(void **)(puVar20 + -0xc)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar20 + -8)" (* "*") (cast_expression "(size_t *)(puVar20 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) () ")")))) (; ";")) (if_statement "if (sVar11 < 1) {\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }" (if "if") (parenthesized_expression "(sVar11 < 1)" (( "(") (binary_expression "sVar11 < 1" (identifier "sVar11") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n                  *(undefined4 *)(puVar20 + -4) = 0x1b433;\n                  piVar13 = __errno_location();\n                  if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }\n                }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b433;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b433" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b433")) (; ";")) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" (identifier "piVar13") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar13 != 0xb) {\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }" (if "if") (parenthesized_expression "(*piVar13 != 0xb)" (( "(") (binary_expression "*piVar13 != 0xb" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (!= "!=") (number_literal "0xb")) () ")")) (compound_statement "{\n                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;\n                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;\n                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;\n                    *(int **)(puVar20 + -0x10) = piVar16;\n                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;\n                    FUN_000215b0();\n                  }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = extraout_EDX_00;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = extraout_EDX_00" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "extraout_EDX_00")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -8) = extraout_EDX_00;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = extraout_EDX_00" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "extraout_EDX_00")) (; ";")) (expression_statement "*(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;" (assignment_expression "*(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb" (pointer_expression "*(char **)(puVar20 + -0xc)" (* "*") (cast_expression "(char **)(puVar20 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression ""gnutls_dh_params_init" + iVar4 + 0xb" (binary_expression ""gnutls_dh_params_init" + iVar4" (string_literal ""gnutls_dh_params_init"" (" """) (string_content "gnutls_dh_params_init") (" """)) (+ "+") (identifier "iVar4")) (+ "+") (number_literal "0xb"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b44b;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b44b" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b44b")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" (identifier "uVar23") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0001ab43;" (goto "goto") (statement_identifier "LAB_0001ab43") (; ";")) (} "}"))) (if_statement "if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" (if "if") (parenthesized_expression "(((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0'))" (( "(") (binary_expression "((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')" (parenthesized_expression "((uVar3 & 0x1000) != 0)" (( "(") (binary_expression "(uVar3 & 0x1000) != 0" (parenthesized_expression "(uVar3 & 0x1000)" (( "(") (binary_expression "uVar3 & 0x1000" (identifier "uVar3") (& "&") (number_literal "0x1000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar20[0x14] == '\0')" (( "(") (binary_expression "puVar20[0x14] == '\0'" (subscript_expression "puVar20[0x14]" (identifier "puVar20") ([ "[") (number_literal "0x14") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n              iVar4 = piVar16[8];\n              iVar12 = piVar16[9];\n              piVar9[1] = 0;\n              piVar9[0x2c] = piVar9[0x2c] | 7;\n              *piVar9 = iVar4;\n              if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }\n              piVar16[8] = (int)piVar9;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" ({ "{") (expression_statement "iVar4 = piVar16[8];" (assignment_expression "iVar4 = piVar16[8]" (identifier "iVar4") (= "=") (subscript_expression "piVar16[8]" (identifier "piVar16") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "iVar12 = piVar16[9];" (assignment_expression "iVar12 = piVar16[9]" (identifier "iVar12") (= "=") (subscript_expression "piVar16[9]" (identifier "piVar16") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0x2c] = piVar9[0x2c] | 7;" (assignment_expression "piVar9[0x2c] = piVar9[0x2c] | 7" (subscript_expression "piVar9[0x2c]" (identifier "piVar9") ([ "[") (number_literal "0x2c") (] "]")) (= "=") (binary_expression "piVar9[0x2c] | 7" (subscript_expression "piVar9[0x2c]" (identifier "piVar9") ([ "[") (number_literal "0x2c") (] "]")) (| "|") (number_literal "7"))) (; ";")) (expression_statement "*piVar9 = iVar4;" (assignment_expression "*piVar9 = iVar4" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (iVar12 == 0) {\n                piVar16[9] = (int)piVar9;\n              }\n              else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                piVar16[9] = (int)piVar9;\n              }" ({ "{") (expression_statement "piVar16[9] = (int)piVar9;" (assignment_expression "piVar16[9] = (int)piVar9" (subscript_expression "piVar16[9]" (identifier "piVar16") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(int)piVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar9"))) (; ";")) (} "}")) (else_clause "else {\n                *(int **)(iVar4 + 4) = piVar9;\n              }" (else "else") (compound_statement "{\n                *(int **)(iVar4 + 4) = piVar9;\n              }" ({ "{") (expression_statement "*(int **)(iVar4 + 4) = piVar9;" (assignment_expression "*(int **)(iVar4 + 4) = piVar9" (pointer_expression "*(int **)(iVar4 + 4)" (* "*") (cast_expression "(int **)(iVar4 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (} "}")))) (expression_statement "piVar16[8] = (int)piVar9;" (assignment_expression "piVar16[8] = (int)piVar9" (subscript_expression "piVar16[8]" (identifier "piVar16") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(int)piVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar9"))) (; ";")) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" (identifier "uVar23") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0001ab43;" (goto "goto") (statement_identifier "LAB_0001ab43") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar20 + 0x20) = 0x80000007;" (assignment_expression "*(undefined4 *)(puVar20 + 0x20) = 0x80000007" (pointer_expression "*(undefined4 *)(puVar20 + 0x20)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x20)" (( "(") (binary_expression "puVar20 + 0x20" (identifier "puVar20") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (number_literal "0x80000007")) (; ";")) (expression_statement "*(int **)(puVar20 + 0x24) = piVar9;" (assignment_expression "*(int **)(puVar20 + 0x24) = piVar9" (pointer_expression "*(int **)(puVar20 + 0x24)" (* "*") (cast_expression "(int **)(puVar20 + 0x24)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x24)" (( "(") (binary_expression "puVar20 + 0x24" (identifier "puVar20") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;" (assignment_expression "*(undefined1 **)(puVar20 + -4) = puVar20 + 0x20" (pointer_expression "*(undefined1 **)(puVar20 + -4)" (* "*") (cast_expression "(undefined1 **)(puVar20 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "puVar20 + 0x20" (identifier "puVar20") (+ "+") (number_literal "0x20"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x33];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x33]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar16[0x33]" (identifier "piVar16") ([ "[") (number_literal "0x33") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b336;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b336" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b336")) (; ";")) (expression_statement "iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));" (assignment_expression "iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4))" (identifier "iVar12") (= "=") (call_expression "epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4))" (identifier "epoll_ctl") (argument_list "(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),\n                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar20 + -8)" (* "*") (cast_expression "(int *)(puVar20 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (, ",") (pointer_expression "*(epoll_event **)(puVar20 + -4)" (* "*") (cast_expression "(epoll_event **)(puVar20 + -4)" (( "(") (type_descriptor "epoll_event **" (type_identifier "epoll_event") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar12 == 0) {\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              piVar9[0x2c] = piVar9[0x2c] | 8;\n              uVar23 = 1;\n              goto LAB_0001ab43;\n            }" ({ "{") (expression_statement "piVar9[0x2c] = piVar9[0x2c] | 8;" (assignment_expression "piVar9[0x2c] = piVar9[0x2c] | 8" (subscript_expression "piVar9[0x2c]" (identifier "piVar9") ([ "[") (number_literal "0x2c") (] "]")) (= "=") (binary_expression "piVar9[0x2c] | 8" (subscript_expression "piVar9[0x2c]" (identifier "piVar9") ([ "[") (number_literal "0x2c") (] "]")) (| "|") (number_literal "8"))) (; ";")) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" (identifier "uVar23") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0001ab43;" (goto "goto") (statement_identifier "LAB_0001ab43") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b487;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b487" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b487")) (; ";")) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar8 = (int *)*piVar8;" (assignment_expression "piVar8 = (int *)*piVar8" (identifier "piVar8") (= "=") (cast_expression "(int *)*piVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar8" (* "*") (identifier "piVar8")))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b492;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b492" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b492")) (; ";")) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x10));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x10))" (identifier "pcVar14") (= "=") (call_expression "strerror(*(int *)(puVar20 + -0x10))" (identifier "strerror") (argument_list "(*(int *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)(puVar20 + -8) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -8) = pcVar14" (pointer_expression "*(char **)(puVar20 + -8)" (* "*") (cast_expression "(char **)(puVar20 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0xf750;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0xf750" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0xf750" (identifier "iVar4") (+ "+") (number_literal "0xf750"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b4a3" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b4a3")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001b19b:\n            pcVar2 = (code *)piVar16[0x14];" (statement_identifier "LAB_0001b19b") (: ":") (expression_statement "pcVar2 = (code *)piVar16[0x14];" (assignment_expression "pcVar2 = (code *)piVar16[0x14]" (identifier "pcVar2") (= "=") (cast_expression "(code *)piVar16[0x14]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar16[0x14]" (identifier "piVar16") ([ "[") (number_literal "0x14") (] "]")))) (; ";"))) (if_statement "if (pcVar2 != (code *)0x0) {\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }" (if "if") (parenthesized_expression "(pcVar2 != (code *)0x0)" (( "(") (binary_expression "pcVar2 != (code *)0x0" (identifier "pcVar2") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar20 + -4) = 1;\n              *(int **)(puVar20 + -8) = piVar9 + 0xc;\n              *(int **)(puVar20 + -0xc) = piVar9;\n              *(int *)(puVar20 + -0x10) = piVar16[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;\n              (*pcVar2)();\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int **)(puVar20 + -8) = piVar9 + 0xc;" (assignment_expression "*(int **)(puVar20 + -8) = piVar9 + 0xc" (pointer_expression "*(int **)(puVar20 + -8)" (* "*") (cast_expression "(int **)(puVar20 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "piVar9 + 0xc" (identifier "piVar9") (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0xc) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0xc) = piVar9" (pointer_expression "*(int **)(puVar20 + -0xc)" (* "*") (cast_expression "(int **)(puVar20 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x15];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x15]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar16[0x15]" (identifier "piVar16") ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b1ae" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b1ae")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (piVar9[0x38] != 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }" (if "if") (parenthesized_expression "(piVar9[0x38] != 0)" (( "(") (binary_expression "piVar9[0x38] != 0" (subscript_expression "piVar9[0x38]" (identifier "piVar9") ([ "[") (number_literal "0x38") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(int *)(puVar20 + -0x10) = piVar9[0x38];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;\n              gnutls_deinit();\n            }" ({ "{") (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar9[0x38]" (identifier "piVar9") ([ "[") (number_literal "0x38") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b1c4" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b1c4")) (; ";")) (expression_statement "gnutls_deinit();" (call_expression "gnutls_deinit()" (identifier "gnutls_deinit") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b1d3" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b1d3")) (; ";")) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "close(*(int *)(puVar20 + -0x10))" (identifier "close") (argument_list "(*(int *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar12 != 0) {\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }" (if "if") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar20 + -4) = 0x1b1df;\n              piVar13 = __errno_location();\n              if (*piVar13 == 9) goto LAB_0001b500;\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b1df;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b1df" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b1df")) (; ";")) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" (identifier "piVar13") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar13 == 9) goto LAB_0001b500;" (if "if") (parenthesized_expression "(*piVar13 == 9)" (( "(") (binary_expression "*piVar13 == 9" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (== "==") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001b500;" (goto "goto") (statement_identifier "LAB_0001b500") (; ";"))) (} "}"))) (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b1f7;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b1f7" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b1f7")) (; ";")) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" (identifier "FUN_0001a860") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x10)" (( "(") (binary_expression "puVar20 + 0x10" (identifier "puVar20") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b203;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b203" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b203")) (; ";")) (expression_statement "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "pthread_mutex_lock") (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar12 != 0) goto LAB_0001b5de;" (if "if") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001b5de;" (goto "goto") (statement_identifier "LAB_0001b5de") (; ";"))) (if_statement "if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }" (if "if") (parenthesized_expression "((*(byte *)(piVar16 + 0x3e) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(piVar16 + 0x3e) & 4) == 0" (parenthesized_expression "(*(byte *)(piVar16 + 0x3e) & 4)" (( "(") (binary_expression "*(byte *)(piVar16 + 0x3e) & 4" (pointer_expression "*(byte *)(piVar16 + 0x3e)" (* "*") (cast_expression "(byte *)(piVar16 + 0x3e)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar16 + 0x3e)" (( "(") (binary_expression "piVar16 + 0x3e" (identifier "piVar16") (+ "+") (number_literal "0x3e")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar12 = piVar9[4];\n              if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }\n              if (iVar12 == 0) goto LAB_0001b472;\n              *(int *)(iVar12 + 0x14) = iVar6;\nLAB_0001b239:\n              piVar9[4] = 0;\n              piVar9[5] = 0;\n            }" ({ "{") (expression_statement "iVar12 = piVar9[4];" (assignment_expression "iVar12 = piVar9[4]" (identifier "iVar12") (= "=") (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if (piVar9[5] == 0) {\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }\n              else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }" (if "if") (parenthesized_expression "(piVar9[5] == 0)" (( "(") (binary_expression "piVar9[5] == 0" (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                piVar16[0xc] = iVar12;\n                iVar6 = 0;\n              }" ({ "{") (expression_statement "piVar16[0xc] = iVar12;" (assignment_expression "piVar16[0xc] = iVar12" (subscript_expression "piVar16[0xc]" (identifier "piVar16") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }" (else "else") (compound_statement "{\n                *(int *)(piVar9[5] + 0x10) = iVar12;\n                iVar12 = piVar9[4];\n                iVar6 = piVar9[5];\n              }" ({ "{") (expression_statement "*(int *)(piVar9[5] + 0x10) = iVar12;" (assignment_expression "*(int *)(piVar9[5] + 0x10) = iVar12" (pointer_expression "*(int *)(piVar9[5] + 0x10)" (* "*") (cast_expression "(int *)(piVar9[5] + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9[5] + 0x10)" (( "(") (binary_expression "piVar9[5] + 0x10" (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "iVar12 = piVar9[4];" (assignment_expression "iVar12 = piVar9[4]" (identifier "iVar12") (= "=") (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "iVar6 = piVar9[5];" (assignment_expression "iVar6 = piVar9[5]" (identifier "iVar6") (= "=") (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]"))) (; ";")) (} "}")))) (if_statement "if (iVar12 == 0) goto LAB_0001b472;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001b472;" (goto "goto") (statement_identifier "LAB_0001b472") (; ";"))) (expression_statement "*(int *)(iVar12 + 0x14) = iVar6;" (assignment_expression "*(int *)(iVar12 + 0x14) = iVar6" (pointer_expression "*(int *)(iVar12 + 0x14)" (* "*") (cast_expression "(int *)(iVar12 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x14)" (( "(") (binary_expression "iVar12 + 0x14" (identifier "iVar12") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (labeled_statement "LAB_0001b239:\n              piVar9[4] = 0;" (statement_identifier "LAB_0001b239") (: ":") (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "piVar9[5] = 0;" (assignment_expression "piVar9[5] = 0" (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar12 = piVar9[2];" (assignment_expression "iVar12 = piVar9[2]" (identifier "iVar12") (= "=") (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (piVar9[3] == 0) {\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }\n            else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }" (if "if") (parenthesized_expression "(piVar9[3] == 0)" (( "(") (binary_expression "piVar9[3] == 0" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              piVar16[2] = iVar12;\n              iVar6 = 0;\n            }" ({ "{") (expression_statement "piVar16[2] = iVar12;" (assignment_expression "piVar16[2] = iVar12" (subscript_expression "piVar16[2]" (identifier "piVar16") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }" (else "else") (compound_statement "{\n              *(int *)(piVar9[3] + 8) = iVar12;\n              iVar12 = piVar9[2];\n              iVar6 = piVar9[3];\n            }" ({ "{") (expression_statement "*(int *)(piVar9[3] + 8) = iVar12;" (assignment_expression "*(int *)(piVar9[3] + 8) = iVar12" (pointer_expression "*(int *)(piVar9[3] + 8)" (* "*") (cast_expression "(int *)(piVar9[3] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9[3] + 8)" (( "(") (binary_expression "piVar9[3] + 8" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "iVar12 = piVar9[2];" (assignment_expression "iVar12 = piVar9[2]" (identifier "iVar12") (= "=") (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar6 = piVar9[3];" (assignment_expression "iVar6 = piVar9[3]" (identifier "iVar6") (= "=") (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]"))) (; ";")) (} "}")))) (if_statement "if (iVar12 == 0) {\n              piVar16[3] = iVar6;\n            }\n            else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              piVar16[3] = iVar6;\n            }" ({ "{") (expression_statement "piVar16[3] = iVar6;" (assignment_expression "piVar16[3] = iVar6" (subscript_expression "piVar16[3]" (identifier "piVar16") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar6")) (; ";")) (} "}")) (else_clause "else {\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }" (else "else") (compound_statement "{\n              *(int *)(iVar12 + 0xc) = iVar6;\n            }" ({ "{") (expression_statement "*(int *)(iVar12 + 0xc) = iVar6;" (assignment_expression "*(int *)(iVar12 + 0xc) = iVar6" (pointer_expression "*(int *)(iVar12 + 0xc)" (* "*") (cast_expression "(int *)(iVar12 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xc)" (( "(") (binary_expression "iVar12 + 0xc" (identifier "iVar12") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (} "}")))) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x10)" (( "(") (binary_expression "puVar20 + 0x10" (identifier "puVar20") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b283;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b283" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b283")) (; ";")) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "pthread_mutex_unlock") (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar12 == 0) {\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(int *)(puVar20 + -0x10) = piVar9[10];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;\n              FUN_00021a90();\n              *(int *)(puVar20 + -0x10) = piVar9[0x15];\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;\n              free(*(void **)(puVar20 + -0x10));\n              *(int **)(puVar20 + -0x10) = piVar9;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;\n              free(*(void **)(puVar20 + -0x10));\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;\n              piVar13 = __errno_location();\n              if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }\n              goto LAB_0001ab43;\n            }" ({ "{") (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[10];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[10]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar9[10]" (identifier "piVar9") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b299;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b299" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b299")) (; ";")) (expression_statement "FUN_00021a90();" (call_expression "FUN_00021a90()" (identifier "FUN_00021a90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x15];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x15]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar9[0x15]" (identifier "piVar9") ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b2a2" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b2a2")) (; ";")) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar20 + -0x10)" (* "*") (cast_expression "(void **)(puVar20 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b2aa" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b2aa")) (; ";")) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar20 + -0x10)" (* "*") (cast_expression "(void **)(puVar20 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b2af;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b2af" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b2af")) (; ";")) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" (identifier "piVar13") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (piVar8 == (int *)0x0) {\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }\n              else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }" (if "if") (parenthesized_expression "(piVar8 == (int *)0x0)" (( "(") (binary_expression "piVar8 == (int *)0x0" (identifier "piVar8") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *piVar13 = 0x16;\n                uVar23 = 0;\n              }" ({ "{") (expression_statement "*piVar13 = 0x16;" (assignment_expression "*piVar13 = 0x16" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (= "=") (number_literal "0x16")) (; ";")) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }" (else "else") (compound_statement "{\n                *piVar13 = (int)piVar8;\n                uVar23 = 0;\n              }" ({ "{") (expression_statement "*piVar13 = (int)piVar8;" (assignment_expression "*piVar13 = (int)piVar8" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (= "=") (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8"))) (; ";")) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (} "}")))) (goto_statement "goto LAB_0001ab43;" (goto "goto") (statement_identifier "LAB_0001ab43") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }" (else "else") (compound_statement "{\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;\n            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n            if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }\n            *(int *)(puVar20 + -4) = iVar4 + 0xf639;\n            *(undefined4 *)(puVar20 + -8) = 0x9ea;\n            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n            puVar21 = puVar20 + -0x10;\n            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;\n            (*pcVar2)();\nLAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;\n            *(undefined4 *)(puVar21 + -8) = 0xa56;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n            pcVar2 = *(code **)(iVar4 + 0x1a681);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;\n            (*pcVar2)();\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x10)" (( "(") (binary_expression "puVar20 + 0x10" (identifier "puVar20") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b178;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b178" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b178")) (; ";")) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "pthread_mutex_unlock") (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar12 == 0) {\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              piVar8 = (int *)0x17;\n              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;\n              *(int **)(puVar20 + -0x10) = piVar16;\n              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;\n              FUN_000215b0();\n              goto LAB_0001b19b;\n            }" ({ "{") (expression_statement "piVar8 = (int *)0x17;" (assignment_expression "piVar8 = (int *)0x17" (identifier "piVar8") (= "=") (cast_expression "(int *)0x17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x17"))) (; ";")) (expression_statement "*(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;" (assignment_expression "*(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7" (pointer_expression "*(char **)(puVar20 + -0xc)" (* "*") (cast_expression "(char **)(puVar20 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression ""__fdelt_chk" + iVar4 + 7" (binary_expression ""__fdelt_chk" + iVar4" (string_literal ""__fdelt_chk"" (" """) (string_content "__fdelt_chk") (" """)) (+ "+") (identifier "iVar4")) (+ "+") (number_literal "7"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b198;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b198" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b198")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001b19b;" (goto "goto") (statement_identifier "LAB_0001b19b") (; ";")) (} "}"))) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf639;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf639" (pointer_expression "*(int *)(puVar20 + -4)" (* "*") (cast_expression "(int *)(puVar20 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0xf639" (identifier "iVar4") (+ "+") (number_literal "0xf639"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x9ea;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x9ea" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x9ea")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b500;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b500" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b500")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001b500:\n            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;" (statement_identifier "LAB_0001b500") (: ":") (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar21 + -4)" (* "*") (cast_expression "(int *)(puVar21 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -4)" (( "(") (binary_expression "puVar21 + -4" (identifier "puVar21") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0x1066d" (identifier "iVar4") (+ "+") (number_literal "0x1066d"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0xa56;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0xa56" (pointer_expression "*(undefined4 *)(puVar21 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -8)" (( "(") (binary_expression "puVar21 + -8" (identifier "puVar21") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0xa56")) (; ";")) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar21 + -0xc)" (* "*") (cast_expression "(int *)(puVar21 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xc)" (( "(") (binary_expression "puVar21 + -0xc" (identifier "puVar21") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" (identifier "puVar20") (= "=") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b51f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b51f" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b51f")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf639;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf639" (pointer_expression "*(int *)(puVar20 + -4)" (* "*") (cast_expression "(int *)(puVar20 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0xf639" (identifier "iVar4") (+ "+") (number_literal "0xf639"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xa67;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xa67" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0xa67")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b53e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b53e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b53e")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001b53e;" (goto "goto") (statement_identifier "LAB_0001b53e") (; ";")) (} "}"))) (expression_statement "piVar9[0x3b] = 1;" (assignment_expression "piVar9[0x3b] = 1" (subscript_expression "piVar9[0x3b]" (identifier "piVar9") ([ "[") (number_literal "0x3b") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1af9c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1af9c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1af9c")) (; ";")) (expression_statement "FUN_000296b0();" (call_expression "FUN_000296b0()" (identifier "FUN_000296b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 0x49;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 0x49" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x49")) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9 + 0x38;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9 + 0x38" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "piVar9 + 0x38" (identifier "piVar9") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1afac;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1afac" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1afac")) (; ";")) (expression_statement "gnutls_init();" (call_expression "gnutls_init()" (identifier "gnutls_init") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = piVar16[0x43];" (assignment_expression "*(int *)(puVar20 + -0xc) = piVar16[0x43]" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "piVar16[0x43]" (identifier "piVar16") ([ "[") (number_literal "0x43") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar9[0x38]" (identifier "piVar9") ([ "[") (number_literal "0x38") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1afbf;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1afbf" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1afbf")) (; ";")) (expression_statement "gnutls_priority_set();" (call_expression "gnutls_priority_set()" (identifier "gnutls_priority_set") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar8 = *(int **)(puVar20 + -0xc);" (assignment_expression "piVar8 = *(int **)(puVar20 + -0xc)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(puVar20 + -0xc)" (* "*") (cast_expression "(int **)(puVar20 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")"))))) (; ";")) (expression_statement "*(int **)(puVar20 + -0xc) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0xc) = piVar9" (pointer_expression "*(int **)(puVar20 + -0xc)" (* "*") (cast_expression "(int **)(puVar20 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar9[0x38]" (identifier "piVar9") ([ "[") (number_literal "0x38") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1afcd;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1afcd" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1afcd")) (; ";")) (expression_statement "gnutls_session_set_ptr();" (call_expression "gnutls_session_set_ptr()" (identifier "gnutls_session_set_ptr") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar12 = piVar16[0x44];" (assignment_expression "iVar12 = piVar16[0x44]" (identifier "iVar12") (= "=") (subscript_expression "piVar16[0x44]" (identifier "piVar16") ([ "[") (number_literal "0x44") (] "]"))) (; ";")) (if_statement "if (iVar12 == 1) {\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }" (if "if") (parenthesized_expression "(iVar12 == 1)" (( "(") (binary_expression "iVar12 == 1" (identifier "iVar12") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          *(int *)(puVar20 + -8) = piVar16[0x45];\n          *(undefined4 *)(puVar20 + -0xc) = 1;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;\n          gnutls_credentials_set();\nLAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);\n          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;\n          gnutls_transport_set_int2();\n          if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }\n          goto LAB_0001ac50;\n        }" ({ "{") (expression_statement "*(int *)(puVar20 + -8) = piVar16[0x45];" (assignment_expression "*(int *)(puVar20 + -8) = piVar16[0x45]" (pointer_expression "*(int *)(puVar20 + -8)" (* "*") (cast_expression "(int *)(puVar20 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "piVar16[0x45]" (identifier "piVar16") ([ "[") (number_literal "0x45") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar9[0x38]" (identifier "piVar9") ([ "[") (number_literal "0x38") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b3dd" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b3dd")) (; ";")) (expression_statement "gnutls_credentials_set();" (call_expression "gnutls_credentials_set()" (identifier "gnutls_credentials_set") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001b38a:\n          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);" (statement_identifier "LAB_0001b38a") (: ":") (expression_statement "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar9[0x38]" (identifier "piVar9") ([ "[") (number_literal "0x38") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b39e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b39e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b39e")) (; ";")) (expression_statement "gnutls_transport_set_int2();" (call_expression "gnutls_transport_set_int2()" (identifier "gnutls_transport_set_int2") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (piVar16[0x4e] != 0) {\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }" (if "if") (parenthesized_expression "(piVar16[0x4e] != 0)" (( "(") (binary_expression "piVar16[0x4e] != 0" (subscript_expression "piVar16[0x4e]" (identifier "piVar16") ([ "[") (number_literal "0x4e") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *)(puVar20 + -0xc) = 1;\n            *(int *)(puVar20 + -0x10) = piVar9[0x38];\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;\n            gnutls_certificate_server_set_request();\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar9[0x38]" (identifier "piVar9") ([ "[") (number_literal "0x38") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b3bf" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b3bf")) (; ";")) (expression_statement "gnutls_certificate_server_set_request();" (call_expression "gnutls_certificate_server_set_request()" (identifier "gnutls_certificate_server_set_request") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0001ac50;" (goto "goto") (statement_identifier "LAB_0001ac50") (; ";")) (} "}"))) (if_statement "if (iVar12 == 4) {\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }" (if "if") (parenthesized_expression "(iVar12 == 4)" (( "(") (binary_expression "iVar12 == 4" (identifier "iVar12") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n          *(int *)(puVar20 + -8) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0xc) = 4;\n          *(int *)(puVar20 + -0x10) = piVar9[0x38];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;\n          gnutls_credentials_set();\n          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;\n          *(int *)(puVar20 + -0x10) = piVar16[0x47];\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;\n          gnutls_psk_set_server_credentials_function();\n          goto LAB_0001b38a;\n        }" ({ "{") (expression_statement "*(int *)(puVar20 + -8) = piVar16[0x47];" (assignment_expression "*(int *)(puVar20 + -8) = piVar16[0x47]" (pointer_expression "*(int *)(puVar20 + -8)" (* "*") (cast_expression "(int *)(puVar20 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "piVar16[0x47]" (identifier "piVar16") ([ "[") (number_literal "0x47") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0xc) = 4;" (assignment_expression "*(undefined4 *)(puVar20 + -0xc) = 4" (pointer_expression "*(undefined4 *)(puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x38];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x38]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar9[0x38]" (identifier "piVar9") ([ "[") (number_literal "0x38") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b373;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b373" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b373")) (; ";")) (expression_statement "gnutls_credentials_set();" (call_expression "gnutls_credentials_set()" (identifier "gnutls_credentials_set") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + -0xcbb" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + -0xcbb" (identifier "iVar4") (+ "+") (number_literal "-0xcbb"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar16[0x47];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar16[0x47]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar16[0x47]" (identifier "piVar16") ([ "[") (number_literal "0x47") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b387;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b387" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b387")) (; ";")) (expression_statement "gnutls_psk_set_server_credentials_function();" (call_expression "gnutls_psk_set_server_credentials_function()" (identifier "gnutls_psk_set_server_credentials_function") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001b38a;" (goto "goto") (statement_identifier "LAB_0001b38a") (; ";")) (} "}"))) (expression_statement "*(int *)(puVar20 + -8) = iVar12;" (assignment_expression "*(int *)(puVar20 + -8) = iVar12" (pointer_expression "*(int *)(puVar20 + -8)" (* "*") (cast_expression "(int *)(puVar20 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;" (assignment_expression "*(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5" (pointer_expression "*(char **)(puVar20 + -0xc)" (* "*") (cast_expression "(char **)(puVar20 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression ""gnutls_record_check_pending" + iVar4 + 5" (binary_expression ""gnutls_record_check_pending" + iVar4" (string_literal ""gnutls_record_check_pending"" (" """) (string_content "gnutls_record_check_pending") (" """)) (+ "+") (identifier "iVar4")) (+ "+") (number_literal "5"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[6];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[6]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar9[6]" (identifier "piVar9") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1affb;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1affb" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1affb")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar8 = *(int **)(puVar20 + -0x10);" (assignment_expression "piVar8 = *(int **)(puVar20 + -0x10)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b005;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b005" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b005")) (; ";")) (expression_statement "iVar12 = close(*(int *)(puVar20 + -0x10));" (assignment_expression "iVar12 = close(*(int *)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "close(*(int *)(puVar20 + -0x10))" (identifier "close") (argument_list "(*(int *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar12 != 0) {\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }" (if "if") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar20 + -4) = 0x1b011;\n          piVar13 = __errno_location();\n          if (*piVar13 != 9) goto LAB_0001b01a;\n          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;\n          *(undefined4 *)(puVar20 + -8) = 0x9c3;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);\n          pcVar2 = *(code **)(iVar4 + 0x1a681);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;\n          (*pcVar2)();\n          iVar6 = extraout_EDX_01;\nLAB_0001b472:\n          piVar16[0xd] = iVar6;\n          puVar20 = puVar21;\n          goto LAB_0001b239;\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b011;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b011" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b011")) (; ";")) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" (identifier "piVar13") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar13 != 9) goto LAB_0001b01a;" (if "if") (parenthesized_expression "(*piVar13 != 9)" (( "(") (binary_expression "*piVar13 != 9" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001b01a;" (goto "goto") (statement_identifier "LAB_0001b01a") (; ";"))) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" (* "*") (cast_expression "(int *)(puVar20 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0x1066d" (identifier "iVar4") (+ "+") (number_literal "0x1066d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x9c3;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x9c3" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x9c3")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b472;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b472" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b472")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar6 = extraout_EDX_01;" (assignment_expression "iVar6 = extraout_EDX_01" (identifier "iVar6") (= "=") (identifier "extraout_EDX_01")) (; ";")) (labeled_statement "LAB_0001b472:\n          piVar16[0xd] = iVar6;" (statement_identifier "LAB_0001b472") (: ":") (expression_statement "piVar16[0xd] = iVar6;" (assignment_expression "piVar16[0xd] = iVar6" (subscript_expression "piVar16[0xd]" (identifier "piVar16") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "iVar6")) (; ";"))) (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" (identifier "puVar20") (= "=") (identifier "puVar21")) (; ";")) (goto_statement "goto LAB_0001b239;" (goto "goto") (statement_identifier "LAB_0001b239") (; ";")) (} "}"))) (labeled_statement "LAB_0001b01a:\n        *(undefined4 *)(puVar20 + -4) = 0x1b029;" (statement_identifier "LAB_0001b01a") (: ":") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b029;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b029" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b029")) (; ";"))) (expression_statement "FUN_0001a860();" (call_expression "FUN_0001a860()" (identifier "FUN_0001a860") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x10) = piVar9[0x15];" (assignment_expression "*(int *)(puVar20 + -0x10) = piVar9[0x15]" (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar9[0x15]" (identifier "piVar9") ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b034;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b034" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b034")) (; ";")) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar20 + -0x10)" (* "*") (cast_expression "(void **)(puVar20 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b03c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b03c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b03c")) (; ";")) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar20 + -0x10)" (* "*") (cast_expression "(void **)(puVar20 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;" (assignment_expression "*(int *)(puVar20 + -0x14) = iVar4 + 0x106a0" (pointer_expression "*(int *)(puVar20 + -0x14)" (* "*") (cast_expression "(int *)(puVar20 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "iVar4 + 0x106a0" (identifier "iVar4") (+ "+") (number_literal "0x106a0"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x18) = 0x9c9;" (assignment_expression "*(undefined4 *)(puVar20 + -0x18) = 0x9c9" (pointer_expression "*(undefined4 *)(puVar20 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x18)" (( "(") (binary_expression "puVar20 + -0x18" (identifier "puVar20") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x9c9")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0x1c) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0x1c)" (* "*") (cast_expression "(int *)(puVar20 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x1c)" (( "(") (binary_expression "puVar20 + -0x1c" (identifier "puVar20") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x20)" (( "(") (binary_expression "puVar20 + -0x20" (identifier "puVar20") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x24) = 0x1b05b;" (assignment_expression "*(undefined4 *)(puVar20 + -0x24) = 0x1b05b" (pointer_expression "*(undefined4 *)(puVar20 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x24)" (( "(") (binary_expression "puVar20 + -0x24" (identifier "puVar20") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1b05b")) (; ";")) (expression_statement "piVar13 = (int *)(*pcVar2)();" (assignment_expression "piVar13 = (int *)(*pcVar2)()" (identifier "piVar13") (= "=") (cast_expression "(int *)(*pcVar2)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar20 = puVar20 + -0x20;" (assignment_expression "puVar20 = puVar20 + -0x20" (identifier "puVar20") (= "=") (binary_expression "puVar20 + -0x20" (identifier "puVar20") (+ "+") (number_literal "-0x20"))) (; ";")) (labeled_statement "LAB_0001b05b:\n        *piVar13 = 2;" (statement_identifier "LAB_0001b05b") (: ":") (expression_statement "*piVar13 = 2;" (assignment_expression "*piVar13 = 2" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (= "=") (number_literal "2")) (; ";"))) (expression_statement "piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);" (assignment_expression "piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4)" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(int *)(*(int *)(puVar20 + 0xc) + 4)" (* "*") (cast_expression "(int *)(*(int *)(puVar20 + 0xc) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar20 + 0xc) + 4)" (( "(") (binary_expression "*(int *)(puVar20 + 0xc) + 4" (pointer_expression "*(int *)(puVar20 + 0xc)" (* "*") (cast_expression "(int *)(puVar20 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0xc)" (( "(") (binary_expression "puVar20 + 0xc" (identifier "puVar20") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "piVar13 = piVar9;" (assignment_expression "piVar13 = piVar9" (identifier "piVar13") (= "=") (identifier "piVar9")) (; ";")) (labeled_statement "LAB_0001b06b:\n        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;" (statement_identifier "LAB_0001b06b") (: ":") (expression_statement "*(int **)(puVar20 + 0x18) = piVar8 + 0x25;" (assignment_expression "*(int **)(puVar20 + 0x18) = piVar8 + 0x25" (pointer_expression "*(int **)(puVar20 + 0x18)" (* "*") (cast_expression "(int **)(puVar20 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x18)" (( "(") (binary_expression "puVar20 + 0x18" (identifier "puVar20") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "piVar8 + 0x25" (identifier "piVar8") (+ "+") (number_literal "0x25"))) (; ";"))) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8 + 0x25;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8 + 0x25" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "piVar8 + 0x25" (identifier "piVar8") (+ "+") (number_literal "0x25"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b07e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b07e" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b07e")) (; ";")) (expression_statement "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "pthread_mutex_lock") (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar9 = piVar13;" (assignment_expression "piVar9 = piVar13" (identifier "piVar9") (= "=") (identifier "piVar13")) (; ";")) (if_statement "if (iVar12 != 0) goto LAB_0001b5ba;" (if "if") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001b5ba;" (goto "goto") (statement_identifier "LAB_0001b5ba") (; ";"))) (expression_statement "*(int *)(puVar20 + -8) = iVar4 + -0xceb;" (assignment_expression "*(int *)(puVar20 + -8) = iVar4 + -0xceb" (pointer_expression "*(int *)(puVar20 + -8)" (* "*") (cast_expression "(int *)(puVar20 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "iVar4 + -0xceb" (identifier "iVar4") (+ "+") (number_literal "-0xceb"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0xc) = piVar8 + 0x1e;" (assignment_expression "*(int **)(puVar20 + -0xc) = piVar8 + 0x1e" (pointer_expression "*(int **)(puVar20 + -0xc)" (* "*") (cast_expression "(int **)(puVar20 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "piVar8 + 0x1e" (identifier "piVar8") (+ "+") (number_literal "0x1e"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar13")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b09d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b09d" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b09d")) (; ";")) (expression_statement "puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8));" (assignment_expression "puVar5 = (undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8))" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)\n                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8))" (identifier "tsearch") (argument_list "(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),\n                         *(__compar_fn_t *)(puVar20 + -8))" (( "(") (pointer_expression "*(void **)(puVar20 + -0x10)" (* "*") (cast_expression "(void **)(puVar20 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(void ***)(puVar20 + -0xc)" (* "*") (cast_expression "(void ***)(puVar20 + -0xc)" (( "(") (type_descriptor "void ***" (primitive_type "void") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(__compar_fn_t *)(puVar20 + -8)" (* "*") (cast_expression "(__compar_fn_t *)(puVar20 + -8)" (( "(") (type_descriptor "__compar_fn_t *" (type_identifier "__compar_fn_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) () ")"))))) (; ";")) (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" (identifier "puVar21") (= "=") (identifier "puVar20")) (; ";")) (if_statement "if (puVar5 == (undefined4 *)0x0) {\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }" (if "if") (parenthesized_expression "(puVar5 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar5 == (undefined4 *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;\n          *(int **)(puVar20 + -0x10) = piVar8;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;\n          FUN_000215b0();\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;\n          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n          if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }\n          break;\n        }" ({ "{") (expression_statement "*(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;" (assignment_expression "*(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10" (pointer_expression "*(char **)(puVar20 + -0xc)" (* "*") (cast_expression "(char **)(puVar20 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression ""gnutls_record_get_direction" + iVar4 + 10" (binary_expression ""gnutls_record_get_direction" + iVar4" (string_literal ""gnutls_record_get_direction"" (" """) (string_content "gnutls_record_get_direction") (" """)) (+ "+") (identifier "iVar4")) (+ "+") (number_literal "10"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b120;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b120" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b120")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x18)" (( "(") (binary_expression "puVar20 + 0x18" (identifier "puVar20") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b12a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b12a" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b12a")) (; ";")) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "pthread_mutex_unlock") (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar12 == 0) {\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(int **)(puVar20 + -0x10) = piVar13;\n            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;\n            free(*(void **)(puVar20 + -0x10));\n            goto LAB_0001ab0a;\n          }" ({ "{") (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar13")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b13a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b13a" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b13a")) (; ";")) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar20 + -0x10)" (* "*") (cast_expression "(void **)(puVar20 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (goto_statement "goto LAB_0001ab0a;" (goto "goto") (statement_identifier "LAB_0001ab0a") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "piVar7 = (int *)*puVar5;" (assignment_expression "piVar7 = (int *)*puVar5" (identifier "piVar7") (= "=") (cast_expression "(int *)*puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (if_statement "if (piVar13 != piVar7) {\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }" (if "if") (parenthesized_expression "(piVar13 != piVar7)" (( "(") (binary_expression "piVar13 != piVar7" (identifier "piVar13") (!= "!=") (identifier "piVar7")) () ")")) (compound_statement "{\n          *(int **)(puVar20 + 0x1c) = piVar7;\n          *(int **)(puVar20 + -0x10) = piVar13;\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;\n          free(*(void **)(puVar20 + -0x10));\n          piVar7 = *(int **)(puVar20 + 0x1c);\n        }" ({ "{") (expression_statement "*(int **)(puVar20 + 0x1c) = piVar7;" (assignment_expression "*(int **)(puVar20 + 0x1c) = piVar7" (pointer_expression "*(int **)(puVar20 + 0x1c)" (* "*") (cast_expression "(int **)(puVar20 + 0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1c)" (( "(") (binary_expression "puVar20 + 0x1c" (identifier "puVar20") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "piVar7")) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar13")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b0b7" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b0b7")) (; ";")) (expression_statement "free(*(void **)(puVar20 + -0x10));" (call_expression "free(*(void **)(puVar20 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar20 + -0x10)" (* "*") (cast_expression "(void **)(puVar20 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "piVar7 = *(int **)(puVar20 + 0x1c);" (assignment_expression "piVar7 = *(int **)(puVar20 + 0x1c)" (identifier "piVar7") (= "=") (pointer_expression "*(int **)(puVar20 + 0x1c)" (* "*") (cast_expression "(int **)(puVar20 + 0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 0x1c)" (( "(") (binary_expression "puVar20 + 0x1c" (identifier "puVar20") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (} "}"))) (if_statement "if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;" (if "if") (parenthesized_expression "((uint)piVar8[0x3d] <= (uint)piVar7[5])" (( "(") (binary_expression "(uint)piVar8[0x3d] <= (uint)piVar7[5]" (cast_expression "(uint)piVar8[0x3d]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar8[0x3d]" (identifier "piVar8") ([ "[") (number_literal "0x3d") (] "]"))) (<= "<=") (cast_expression "(uint)piVar7[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar7[5]" (identifier "piVar7") ([ "[") (number_literal "5") (] "]")))) () ")")) (goto_statement "goto LAB_0001b0f0;" (goto "goto") (statement_identifier "LAB_0001b0f0") (; ";"))) (expression_statement "piVar7[5] = piVar7[5] + 1;" (assignment_expression "piVar7[5] = piVar7[5] + 1" (subscript_expression "piVar7[5]" (identifier "piVar7") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "piVar7[5] + 1" (subscript_expression "piVar7[5]" (identifier "piVar7") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x18)" (( "(") (binary_expression "puVar20 + 0x18" (identifier "puVar20") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b0db;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b0db" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b0db")) (; ";")) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "pthread_mutex_unlock") (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (; ";")) (do_statement "do {\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      } while (iVar12 != 0);" (do "do") (compound_statement "{\n        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;\n        FUN_0001a660();\nLAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);\n        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;\n        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b0eb;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b0eb" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b0eb")) (; ";")) (expression_statement "FUN_0001a660();" (call_expression "FUN_0001a660()" (identifier "FUN_0001a660") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001b0f0:\n        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);" (statement_identifier "LAB_0001b0f0") (: ":") (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar20 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar20 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + 0x18)" (( "(") (binary_expression "puVar20 + 0x18" (identifier "puVar20") (+ "+") (number_literal "0x18")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b0fc" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b0fc")) (; ";")) (expression_statement "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));" (assignment_expression "iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "iVar12") (= "=") (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10))" (identifier "pthread_mutex_unlock") (argument_list "(*(pthread_mutex_t **)(puVar20 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)(puVar20 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar20 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_0001ab0a:\n    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;" (statement_identifier "LAB_0001ab0a") (: ":") (expression_statement "*(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;" (assignment_expression "*(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7" (pointer_expression "*(char **)(puVar21 + -0xc)" (* "*") (cast_expression "(char **)(puVar21 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0xc)" (( "(") (binary_expression "puVar21 + -0xc" (identifier "puVar21") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression ""__fdelt_chk" + iVar4 + 7" (binary_expression ""__fdelt_chk" + iVar4" (string_literal ""__fdelt_chk"" (" """) (string_content "__fdelt_chk") (" """)) (+ "+") (identifier "iVar4")) (+ "+") (number_literal "7"))) (; ";"))) (expression_statement "*(int **)(puVar21 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar21 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar21 + -0x10)" (* "*") (cast_expression "(int **)(puVar21 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1ab1a" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ab1a")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar21 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 8)" (( "(") (binary_expression "puVar21 + 8" (identifier "puVar21") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1ab24;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1ab24" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ab24")) (; ";")) (expression_statement "piVar16 = (int *)close(*(int *)(puVar21 + -0x10));" (assignment_expression "piVar16 = (int *)close(*(int *)(puVar21 + -0x10))" (identifier "piVar16") (= "=") (cast_expression "(int *)close(*(int *)(puVar21 + -0x10))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "close(*(int *)(puVar21 + -0x10))" (identifier "close") (argument_list "(*(int *)(puVar21 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar21 + -0x10)" (* "*") (cast_expression "(int *)(puVar21 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1ab2b" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ab2b")) (; ";")) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" (identifier "piVar7") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;" (if "if") (parenthesized_expression "((piVar16 == (int *)0x0) || (*piVar7 != 9))" (( "(") (binary_expression "(piVar16 == (int *)0x0) || (*piVar7 != 9)" (parenthesized_expression "(piVar16 == (int *)0x0)" (( "(") (binary_expression "piVar16 == (int *)0x0" (identifier "piVar16") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*piVar7 != 9)" (( "(") (binary_expression "*piVar7 != 9" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (!= "!=") (number_literal "9")) () ")"))) () ")")) (goto_statement "goto LAB_0001ab3b;" (goto "goto") (statement_identifier "LAB_0001ab3b") (; ";"))) (labeled_statement "LAB_0001b53e:\n    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;" (statement_identifier "LAB_0001b53e") (: ":") (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar21 + -4)" (* "*") (cast_expression "(int *)(puVar21 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -4)" (( "(") (binary_expression "puVar21 + -4" (identifier "puVar21") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0x1066d" (identifier "iVar4") (+ "+") (number_literal "0x1066d"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0x93d;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0x93d" (pointer_expression "*(undefined4 *)(puVar21 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -8)" (( "(") (binary_expression "puVar21 + -8" (identifier "puVar21") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x93d")) (; ";")) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar21 + -0xc)" (* "*") (cast_expression "(int *)(puVar21 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xc)" (( "(") (binary_expression "puVar21 + -0xc" (identifier "puVar21") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" (identifier "puVar20") (= "=") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b55d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b55d" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b55d")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar13 = piVar9;" (assignment_expression "piVar13 = piVar9" (identifier "piVar13") (= "=") (identifier "piVar9")) (; ";")) (labeled_statement "LAB_0001b55d:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (statement_identifier "LAB_0001b55d") (: ":") (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" (* "*") (cast_expression "(int *)(puVar20 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0x1066d" (identifier "iVar4") (+ "+") (number_literal "0x1066d"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x950;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x950" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x950")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b57c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b57c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b57c")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar20 = puVar20 + -0x10;" (assignment_expression "puVar20 = puVar20 + -0x10" (identifier "puVar20") (= "=") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10"))) (; ";")) (labeled_statement "LAB_0001b57c:\n    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (statement_identifier "LAB_0001b57c") (: ":") (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" (* "*") (cast_expression "(int *)(puVar20 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0x1066d" (identifier "iVar4") (+ "+") (number_literal "0x1066d"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x962;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x962" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x962")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b59b;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b59b" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b59b")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10"))) (; ";")) (} "}")) (else_clause "else {\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }" (else "else") (compound_statement "{\n    *(undefined4 *)(puVar20 + -4) = 0x400;\n    piVar8 = *(int **)(puVar20 + 8);\n    *(int **)(puVar20 + -8) = piVar8;\n    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;\n    *(int **)(puVar20 + -0x10) = piVar16;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;\n    FUN_000215b0();\n    *(int **)(puVar20 + -0x10) = piVar8;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;\n    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));\n    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;\n    piVar7 = __errno_location();\n    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x400;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x400" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "piVar8 = *(int **)(puVar20 + 8);" (assignment_expression "piVar8 = *(int **)(puVar20 + 8)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(puVar20 + 8)" (* "*") (cast_expression "(int **)(puVar20 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + 8)" (( "(") (binary_expression "puVar20 + 8" (identifier "puVar20") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(int **)(puVar20 + -8) = piVar8;" (assignment_expression "*(int **)(puVar20 + -8) = piVar8" (pointer_expression "*(int **)(puVar20 + -8)" (* "*") (cast_expression "(int **)(puVar20 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;" (assignment_expression "*(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10" (pointer_expression "*(char **)(puVar20 + -0xc)" (* "*") (cast_expression "(char **)(puVar20 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression ""pthread_self" + iVar4 + 10" (binary_expression ""pthread_self" + iVar4" (string_literal ""pthread_self"" (" """) (string_content "pthread_self") (" """)) (+ "+") (identifier "iVar4")) (+ "+") (number_literal "10"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1adc7;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1adc7" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1adc7")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x10)" (* "*") (cast_expression "(int **)(puVar20 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1adcf;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1adcf" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1adcf")) (; ";")) (expression_statement "piVar16 = (int *)close(*(int *)(puVar20 + -0x10));" (assignment_expression "piVar16 = (int *)close(*(int *)(puVar20 + -0x10))" (identifier "piVar16") (= "=") (cast_expression "(int *)close(*(int *)(puVar20 + -0x10))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "close(*(int *)(puVar20 + -0x10))" (identifier "close") (argument_list "(*(int *)(puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x10)" (* "*") (cast_expression "(int *)(puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1add6;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1add6" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1add6")) (; ";")) (expression_statement "piVar7 = __errno_location();" (assignment_expression "piVar7 = __errno_location()" (identifier "piVar7") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }" (if "if") (parenthesized_expression "((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9))" (( "(") (binary_expression "(piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)" (parenthesized_expression "(piVar16 == (int *)0x0)" (( "(") (binary_expression "piVar16 == (int *)0x0" (identifier "piVar16") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(puVar21 = puVar20, *piVar7 != 9)" (( "(") (comma_expression "puVar21 = puVar20, *piVar7 != 9" (assignment_expression "puVar21 = puVar20" (identifier "puVar21") (= "=") (identifier "puVar20")) (, ",") (binary_expression "*piVar7 != 9" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (!= "!=") (number_literal "9"))) () ")"))) () ")")) (compound_statement "{\n      *piVar7 = 0x16;\n      uVar23 = 0;\n      goto LAB_0001ab43;\n    }" ({ "{") (expression_statement "*piVar7 = 0x16;" (assignment_expression "*piVar7 = 0x16" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (number_literal "0x16")) (; ";")) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001ab43;" (goto "goto") (statement_identifier "LAB_0001ab43") (; ";")) (} "}"))) (} "}"))))) (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar21 + -4)" (* "*") (cast_expression "(int *)(puVar21 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -4)" (( "(") (binary_expression "puVar21 + -4" (identifier "puVar21") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0x1066d" (identifier "iVar4") (+ "+") (number_literal "0x1066d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0x912;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0x912" (pointer_expression "*(undefined4 *)(puVar21 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -8)" (( "(") (binary_expression "puVar21 + -8" (identifier "puVar21") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x912")) (; ";")) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar21 + -0xc)" (* "*") (cast_expression "(int *)(puVar21 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xc)" (( "(") (binary_expression "puVar21 + -0xc" (identifier "puVar21") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" (identifier "puVar20") (= "=") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b5ba" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b5ba")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar9 = piVar13;" (assignment_expression "piVar9 = piVar13" (identifier "piVar9") (= "=") (identifier "piVar13")) (; ";")) (labeled_statement "LAB_0001b5ba:\n  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;" (statement_identifier "LAB_0001b5ba") (: ":") (expression_statement "*(undefined4 *)(puVar20 + -4) = 0x1b5bf;" (assignment_expression "*(undefined4 *)(puVar20 + -4) = 0x1b5bf" (pointer_expression "*(undefined4 *)(puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b5bf")) (; ";"))) (expression_statement "FUN_0001a630();" (call_expression "FUN_0001a630()" (identifier "FUN_0001a630") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" (identifier "puVar21") (= "=") (identifier "puVar20")) (; ";")) (labeled_statement "LAB_0001b5bf:\n  *(int *)(puVar21 + -4) = iVar4 + 0xf615;" (statement_identifier "LAB_0001b5bf") (: ":") (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0xf615;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0xf615" (pointer_expression "*(int *)(puVar21 + -4)" (* "*") (cast_expression "(int *)(puVar21 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -4)" (( "(") (binary_expression "puVar21 + -4" (identifier "puVar21") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0xf615" (identifier "iVar4") (+ "+") (number_literal "0xf615"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0x9e4;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0x9e4" (pointer_expression "*(undefined4 *)(puVar21 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -8)" (( "(") (binary_expression "puVar21 + -8" (identifier "puVar21") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x9e4")) (; ";")) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar21 + -0xc)" (* "*") (cast_expression "(int *)(puVar21 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xc)" (( "(") (binary_expression "puVar21 + -0xc" (identifier "puVar21") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" (identifier "puVar20") (= "=") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b5de;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b5de" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b5de")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001b5de:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf615;" (statement_identifier "LAB_0001b5de") (: ":") (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf615;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf615" (pointer_expression "*(int *)(puVar20 + -4)" (* "*") (cast_expression "(int *)(puVar20 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0xf615" (identifier "iVar4") (+ "+") (number_literal "0xf615"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xa5b;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xa5b" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0xa5b")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b5fd" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b5fd")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar20 = puVar20 + -0x10;" (assignment_expression "puVar20 = puVar20 + -0x10" (identifier "puVar20") (= "=") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10"))) (; ";")) (labeled_statement "LAB_0001b5fd:\n  *(int *)(puVar20 + -4) = iVar4 + 0xf639;" (statement_identifier "LAB_0001b5fd") (: ":") (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf639;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf639" (pointer_expression "*(int *)(puVar20 + -4)" (* "*") (cast_expression "(int *)(puVar20 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0xf639" (identifier "iVar4") (+ "+") (number_literal "0xf639"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xa01;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xa01" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0xa01")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b61c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b61c" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b61c")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar20 = puVar20 + -0x10;" (assignment_expression "puVar20 = puVar20 + -0x10" (identifier "puVar20") (= "=") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10"))) (; ";")) (labeled_statement "LAB_0001b61c:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (statement_identifier "LAB_0001b61c") (: ":") (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" (* "*") (cast_expression "(int *)(puVar20 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0x1066d" (identifier "iVar4") (+ "+") (number_literal "0x1066d"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x985;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x985" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x985")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b63b;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b63b" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b63b")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar20 = puVar20 + -0x10;" (assignment_expression "puVar20 = puVar20 + -0x10" (identifier "puVar20") (= "=") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10"))) (; ";")) (labeled_statement "LAB_0001b63b:\n  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (statement_identifier "LAB_0001b63b") (: ":") (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0x1066d;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0x1066d" (pointer_expression "*(int *)(puVar20 + -4)" (* "*") (cast_expression "(int *)(puVar20 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0x1066d" (identifier "iVar4") (+ "+") (number_literal "0x1066d"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0x971;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0x971" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x971")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0x10659" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10659" (identifier "iVar4") (+ "+") (number_literal "0x10659"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x1a67d)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x1a67d)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1a67d)" (( "(") (binary_expression "iVar4 + 0x1a67d" (identifier "iVar4") (+ "+") (number_literal "0x1a67d")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x1a681);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x1a681)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x1a681)" (* "*") (cast_expression "(code **)(iVar4 + 0x1a681)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x1a681)" (( "(") (binary_expression "iVar4 + 0x1a681" (identifier "iVar4") (+ "+") (number_literal "0x1a681")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b65a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b65a" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b65a")) (; ";")) (expression_statement "iVar12 = (*pcVar2)();" (assignment_expression "iVar12 = (*pcVar2)()" (identifier "iVar12") (= "=") (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int **)(puVar20 + -0x14) = piVar9;" (assignment_expression "*(int **)(puVar20 + -0x14) = piVar9" (pointer_expression "*(int **)(puVar20 + -0x14)" (* "*") (cast_expression "(int **)(puVar20 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(int **)(puVar20 + -0x18) = piVar8;" (assignment_expression "*(int **)(puVar20 + -0x18) = piVar8" (pointer_expression "*(int **)(puVar20 + -0x18)" (* "*") (cast_expression "(int **)(puVar20 + -0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x18)" (( "(") (binary_expression "puVar20 + -0x18" (identifier "puVar20") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(int **)(puVar20 + -0x1c) = piVar16;" (assignment_expression "*(int **)(puVar20 + -0x1c) = piVar16" (pointer_expression "*(int **)(puVar20 + -0x1c)" (* "*") (cast_expression "(int **)(puVar20 + -0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x1c)" (( "(") (binary_expression "puVar20 + -0x1c" (identifier "puVar20") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;" (assignment_expression "*(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4" (pointer_expression "*(undefined **)(puVar20 + -0x20)" (* "*") (cast_expression "(undefined **)(puVar20 + -0x20)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x20)" (( "(") (binary_expression "puVar20 + -0x20" (identifier "puVar20") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (binary_expression "&UNK_0001a3f5 + iVar4" (pointer_expression "&UNK_0001a3f5" (& "&") (identifier "UNK_0001a3f5")) (+ "+") (identifier "iVar4"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x24) = 0x1b66d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x24) = 0x1b66d" (pointer_expression "*(undefined4 *)(puVar20 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x24)" (( "(") (binary_expression "puVar20 + -0x24" (identifier "puVar20") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1b66d")) (; ";")) (expression_statement "iVar4 = *(int *)(puVar20 + -0x24);" (assignment_expression "iVar4 = *(int *)(puVar20 + -0x24)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(puVar20 + -0x24)" (* "*") (cast_expression "(int *)(puVar20 + -0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x24)" (( "(") (binary_expression "puVar20 + -0x24" (identifier "puVar20") (+ "+") (number_literal "-0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar20 + -0x30)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x30)" (( "(") (binary_expression "puVar20 + -0x30" (identifier "puVar20") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x50) = 0x1c;" (assignment_expression "*(undefined4 *)(puVar20 + -0x50) = 0x1c" (pointer_expression "*(undefined4 *)(puVar20 + -0x50)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x50)" (( "(") (binary_expression "puVar20 + -0x50" (identifier "puVar20") (+ "+") (number_literal "-0x50")) () ")")))) (= "=") (number_literal "0x1c")) (; ";")) (do_statement "do {\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  } while (uVar3 < 0x1c);" (do "do") (compound_statement "{\n    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;\n    uVar3 = uVar3 + 4;\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x4c + uVar3) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x4c + uVar3)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x4c + uVar3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x4c + uVar3)" (( "(") (binary_expression "puVar20 + -0x4c + uVar3" (binary_expression "puVar20 + -0x4c" (identifier "puVar20") (+ "+") (number_literal "-0x4c")) (+ "+") (identifier "uVar3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar3 = uVar3 + 4;" (assignment_expression "uVar3 = uVar3 + 4" (identifier "uVar3") (= "=") (binary_expression "uVar3 + 4" (identifier "uVar3") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar3 < 0x1c)" (( "(") (binary_expression "uVar3 < 0x1c" (identifier "uVar3") (< "<") (number_literal "0x1c")) () ")")) (; ";")) (expression_statement "iVar6 = *(int *)(iVar12 + 0xc4);" (assignment_expression "iVar6 = *(int *)(iVar12 + 0xc4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar12 + 0xc4)" (* "*") (cast_expression "(int *)(iVar12 + 0xc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xc4)" (( "(") (binary_expression "iVar12 + 0xc4" (identifier "iVar12") (+ "+") (number_literal "0xc4")) () ")"))))) (; ";")) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c"))) (; ";")) (if_statement "if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))\n  goto LAB_0001b7c0;" (if "if") (parenthesized_expression "((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))" (( "(") (binary_expression "(iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0')" (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")")) (|| "||") (parenthesized_expression "(puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0')" (( "(") (comma_expression "puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'" (assignment_expression "puVar21 = puVar20 + -0x6c" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c"))) (, ",") (binary_expression "*(char *)(iVar12 + 0xe1) != '\0'" (pointer_expression "*(char *)(iVar12 + 0xe1)" (* "*") (cast_expression "(char *)(iVar12 + 0xe1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xe1)" (( "(") (binary_expression "iVar12 + 0xe1" (identifier "iVar12") (+ "+") (number_literal "0xe1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (goto_statement "goto LAB_0001b7c0;" (goto "goto") (statement_identifier "LAB_0001b7c0") (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x80800;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x80800" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x70)" (( "(") (binary_expression "puVar20 + -0x70" (identifier "puVar20") (+ "+") (number_literal "-0x70")) () ")")))) (= "=") (number_literal "0x80800")) (; ";")) (expression_statement "*(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;" (assignment_expression "*(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50" (pointer_expression "*(undefined1 **)(puVar20 + -0x74)" (* "*") (cast_expression "(undefined1 **)(puVar20 + -0x74)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x74)" (( "(") (binary_expression "puVar20 + -0x74" (identifier "puVar20") (+ "+") (number_literal "-0x74")) () ")")))) (= "=") (binary_expression "puVar20 + -0x50" (identifier "puVar20") (+ "+") (number_literal "-0x50"))) (; ";")) (expression_statement "*(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;" (assignment_expression "*(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c" (pointer_expression "*(undefined1 **)(puVar20 + -0x78)" (* "*") (cast_expression "(undefined1 **)(puVar20 + -0x78)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x78)" (( "(") (binary_expression "puVar20 + -0x78" (identifier "puVar20") (+ "+") (number_literal "-0x78")) () ")")))) (= "=") (binary_expression "puVar20 + -0x4c" (identifier "puVar20") (+ "+") (number_literal "-0x4c"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x7c) = iVar6;" (assignment_expression "*(int *)(puVar20 + -0x7c) = iVar6" (pointer_expression "*(int *)(puVar20 + -0x7c)" (* "*") (cast_expression "(int *)(puVar20 + -0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x7c)" (( "(") (binary_expression "puVar20 + -0x7c" (identifier "puVar20") (+ "+") (number_literal "-0x7c")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b6c8" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x80)" (( "(") (binary_expression "puVar20 + -0x80" (identifier "puVar20") (+ "+") (number_literal "-0x80")) () ")")))) (= "=") (number_literal "0x1b6c8")) (; ";")) (expression_statement "iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));" (assignment_expression "iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70))" (identifier "iVar6") (= "=") (call_expression "accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70))" (identifier "accept4") (argument_list "(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),\n                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x7c)" (* "*") (cast_expression "(int *)(puVar20 + -0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x7c)" (( "(") (binary_expression "puVar20 + -0x7c" (identifier "puVar20") (+ "+") (number_literal "-0x7c")) () ")")))) (, ",") (pointer_expression "*(sockaddr **)(puVar20 + -0x78)" (* "*") (cast_expression "(sockaddr **)(puVar20 + -0x78)" (( "(") (type_descriptor "sockaddr **" (type_identifier "sockaddr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x78)" (( "(") (binary_expression "puVar20 + -0x78" (identifier "puVar20") (+ "+") (number_literal "-0x78")) () ")")))) (, ",") (pointer_expression "*(socklen_t **)(puVar20 + -0x74)" (* "*") (cast_expression "(socklen_t **)(puVar20 + -0x74)" (( "(") (type_descriptor "socklen_t **" (type_identifier "socklen_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x74)" (( "(") (binary_expression "puVar20 + -0x74" (identifier "puVar20") (+ "+") (number_literal "-0x74")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar20 + -0x70)" (* "*") (cast_expression "(int *)(puVar20 + -0x70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x70)" (( "(") (binary_expression "puVar20 + -0x70" (identifier "puVar20") (+ "+") (number_literal "-0x70")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar22 = puVar20 + -0x6c;" (assignment_expression "puVar22 = puVar20 + -0x6c" (identifier "puVar22") (= "=") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c"))) (; ";")) (if_statement "if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }" (if "if") (parenthesized_expression "((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0))" (( "(") (binary_expression "(iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)" (parenthesized_expression "(iVar6 != -1)" (( "(") (binary_expression "iVar6 != -1" (identifier "iVar6") (!= "!=") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(puVar20 + -0x50) != 0)" (( "(") (binary_expression "*(int *)(puVar20 + -0x50) != 0" (pointer_expression "*(int *)(puVar20 + -0x50)" (* "*") (cast_expression "(int *)(puVar20 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x50)" (( "(") (binary_expression "puVar20 + -0x50" (identifier "puVar20") (+ "+") (number_literal "-0x50")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    *(undefined4 *)(puVar20 + -0x74) = 1;\n    *(undefined4 *)(puVar20 + -0x78) = 0;\n    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);\n    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;\n    FUN_0001a9e0();\n    puVar21 = puVar20 + -0x6c;\n    uVar23 = 1;\n    goto LAB_0001b7c2;\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -0x74) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0x74) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0x74)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x74)" (( "(") (binary_expression "puVar20 + -0x74" (identifier "puVar20") (+ "+") (number_literal "-0x74")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x78) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x78) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x78)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x78)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x78)" (( "(") (binary_expression "puVar20 + -0x78" (identifier "puVar20") (+ "+") (number_literal "-0x78")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);" (assignment_expression "*(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50)" (pointer_expression "*(int *)(puVar20 + -0x7c)" (* "*") (cast_expression "(int *)(puVar20 + -0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x7c)" (( "(") (binary_expression "puVar20 + -0x7c" (identifier "puVar20") (+ "+") (number_literal "-0x7c")) () ")")))) (= "=") (pointer_expression "*(int *)(puVar20 + -0x50)" (* "*") (cast_expression "(int *)(puVar20 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x50)" (( "(") (binary_expression "puVar20 + -0x50" (identifier "puVar20") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b7f3" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x80)" (( "(") (binary_expression "puVar20 + -0x80" (identifier "puVar20") (+ "+") (number_literal "-0x80")) () ")")))) (= "=") (number_literal "0x1b7f3")) (; ";")) (expression_statement "FUN_0001a9e0();" (call_expression "FUN_0001a9e0()" (identifier "FUN_0001a9e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c"))) (; ";")) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" (identifier "uVar23") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0001b7c2;" (goto "goto") (statement_identifier "LAB_0001b7c2") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1b6e3" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x70)" (( "(") (binary_expression "puVar20 + -0x70" (identifier "puVar20") (+ "+") (number_literal "-0x70")) () ")")))) (= "=") (number_literal "0x1b6e3")) (; ";")) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" (identifier "piVar13") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar17 = *piVar13;" (assignment_expression "iVar17 = *piVar13" (identifier "iVar17") (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c"))) (; ";")) (if_statement "if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }" (if "if") (parenthesized_expression "((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16))" (( "(") (binary_expression "(iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)" (parenthesized_expression "(iVar17 != 0x67)" (( "(") (binary_expression "iVar17 != 0x67" (identifier "iVar17") (!= "!=") (number_literal "0x67")) () ")")) (&& "&&") (parenthesized_expression "(puVar21 = puVar20 + -0x6c, iVar17 != 0x16)" (( "(") (comma_expression "puVar21 = puVar20 + -0x6c, iVar17 != 0x16" (assignment_expression "puVar21 = puVar20 + -0x6c" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c"))) (, ",") (binary_expression "iVar17 != 0x16" (identifier "iVar17") (!= "!=") (number_literal "0x16"))) () ")"))) () ")")) (compound_statement "{\n    *(int **)(puVar20 + -0x60) = piVar13;\n    if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }\n  }" ({ "{") (expression_statement "*(int **)(puVar20 + -0x60) = piVar13;" (assignment_expression "*(int **)(puVar20 + -0x60) = piVar13" (pointer_expression "*(int **)(puVar20 + -0x60)" (* "*") (cast_expression "(int **)(puVar20 + -0x60)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x60)" (( "(") (binary_expression "puVar20 + -0x60" (identifier "puVar20") (+ "+") (number_literal "-0x60")) () ")")))) (= "=") (identifier "piVar13")) (; ";")) (if_statement "if (iVar17 == 0xb) {\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }\n    else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }" (if "if") (parenthesized_expression "(iVar17 == 0xb)" (( "(") (binary_expression "iVar17 == 0xb" (identifier "iVar17") (== "==") (number_literal "0xb")) () ")")) (compound_statement "{\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }\n    }" ({ "{") (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c"))) (; ";")) (if_statement "if (iVar6 != -1) {\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }" (if "if") (parenthesized_expression "(iVar6 != -1)" (( "(") (binary_expression "iVar6 != -1" (identifier "iVar6") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        *(int *)(puVar20 + -0x7c) = iVar6;\n        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;\n        iVar15 = close(*(int *)(puVar20 + -0x7c));\n        piVar13 = *(int **)(puVar20 + -0x60);\n        puVar21 = puVar20 + -0x6c;\n        puVar20 = puVar20 + -0x6c;\n        if (iVar15 != 0) goto LAB_0001b819;\n      }" ({ "{") (expression_statement "*(int *)(puVar20 + -0x7c) = iVar6;" (assignment_expression "*(int *)(puVar20 + -0x7c) = iVar6" (pointer_expression "*(int *)(puVar20 + -0x7c)" (* "*") (cast_expression "(int *)(puVar20 + -0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x7c)" (( "(") (binary_expression "puVar20 + -0x7c" (identifier "puVar20") (+ "+") (number_literal "-0x7c")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b80e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b80e" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x80)" (( "(") (binary_expression "puVar20 + -0x80" (identifier "puVar20") (+ "+") (number_literal "-0x80")) () ")")))) (= "=") (number_literal "0x1b80e")) (; ";")) (expression_statement "iVar15 = close(*(int *)(puVar20 + -0x7c));" (assignment_expression "iVar15 = close(*(int *)(puVar20 + -0x7c))" (identifier "iVar15") (= "=") (call_expression "close(*(int *)(puVar20 + -0x7c))" (identifier "close") (argument_list "(*(int *)(puVar20 + -0x7c))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x7c)" (* "*") (cast_expression "(int *)(puVar20 + -0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x7c)" (( "(") (binary_expression "puVar20 + -0x7c" (identifier "puVar20") (+ "+") (number_literal "-0x7c")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar13 = *(int **)(puVar20 + -0x60);" (assignment_expression "piVar13 = *(int **)(puVar20 + -0x60)" (identifier "piVar13") (= "=") (pointer_expression "*(int **)(puVar20 + -0x60)" (* "*") (cast_expression "(int **)(puVar20 + -0x60)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x60)" (( "(") (binary_expression "puVar20 + -0x60" (identifier "puVar20") (+ "+") (number_literal "-0x60")) () ")"))))) (; ";")) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c"))) (; ";")) (expression_statement "puVar20 = puVar20 + -0x6c;" (assignment_expression "puVar20 = puVar20 + -0x6c" (identifier "puVar20") (= "=") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c"))) (; ";")) (if_statement "if (iVar15 != 0) goto LAB_0001b819;" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001b819;" (goto "goto") (statement_identifier "LAB_0001b819") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }" (else "else") (compound_statement "{\n      *(int *)(puVar20 + -0x7c) = iVar17;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;\n      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));\n      *(char **)(puVar20 + -0x74) = pcVar14;\n      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;\n      *(int *)(puVar20 + -0x7c) = iVar12;\n      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;\n      FUN_000215b0();\n      puVar21 = puVar20 + -0x6c;\n      if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }\n      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }\n    }" ({ "{") (expression_statement "*(int *)(puVar20 + -0x7c) = iVar17;" (assignment_expression "*(int *)(puVar20 + -0x7c) = iVar17" (pointer_expression "*(int *)(puVar20 + -0x7c)" (* "*") (cast_expression "(int *)(puVar20 + -0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x7c)" (( "(") (binary_expression "puVar20 + -0x7c" (identifier "puVar20") (+ "+") (number_literal "-0x7c")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b70d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b70d" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x80)" (( "(") (binary_expression "puVar20 + -0x80" (identifier "puVar20") (+ "+") (number_literal "-0x80")) () ")")))) (= "=") (number_literal "0x1b70d")) (; ";")) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x7c));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x7c))" (identifier "pcVar14") (= "=") (call_expression "strerror(*(int *)(puVar20 + -0x7c))" (identifier "strerror") (argument_list "(*(int *)(puVar20 + -0x7c))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x7c)" (* "*") (cast_expression "(int *)(puVar20 + -0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x7c)" (( "(") (binary_expression "puVar20 + -0x7c" (identifier "puVar20") (+ "+") (number_literal "-0x7c")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)(puVar20 + -0x74) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -0x74) = pcVar14" (pointer_expression "*(char **)(puVar20 + -0x74)" (* "*") (cast_expression "(char **)(puVar20 + -0x74)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x74)" (( "(") (binary_expression "puVar20 + -0x74" (identifier "puVar20") (+ "+") (number_literal "-0x74")) () ")")))) (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x78) = iVar4 + 0x10437;" (assignment_expression "*(int *)(puVar20 + -0x78) = iVar4 + 0x10437" (pointer_expression "*(int *)(puVar20 + -0x78)" (* "*") (cast_expression "(int *)(puVar20 + -0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x78)" (( "(") (binary_expression "puVar20 + -0x78" (identifier "puVar20") (+ "+") (number_literal "-0x78")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10437" (identifier "iVar4") (+ "+") (number_literal "0x10437"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x7c) = iVar12;" (assignment_expression "*(int *)(puVar20 + -0x7c) = iVar12" (pointer_expression "*(int *)(puVar20 + -0x7c)" (* "*") (cast_expression "(int *)(puVar20 + -0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x7c)" (( "(") (binary_expression "puVar20 + -0x7c" (identifier "puVar20") (+ "+") (number_literal "-0x7c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x80) = 0x1b71e;" (assignment_expression "*(undefined4 *)(puVar20 + -0x80) = 0x1b71e" (pointer_expression "*(undefined4 *)(puVar20 + -0x80)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x80)" (( "(") (binary_expression "puVar20 + -0x80" (identifier "puVar20") (+ "+") (number_literal "-0x80")) () ")")))) (= "=") (number_literal "0x1b71e")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar21 = puVar20 + -0x6c;" (assignment_expression "puVar21 = puVar20 + -0x6c" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c"))) (; ";")) (if_statement "if (iVar6 != -1) {\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }" (if "if") (parenthesized_expression "(iVar6 != -1)" (( "(") (binary_expression "iVar6 != -1" (identifier "iVar6") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }\n      }" ({ "{") (while_statement "while( true ) {\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          *(int *)(puVar22 + -0x10) = iVar6;\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;\n          iVar15 = close(*(int *)(puVar22 + -0x10));\n          piVar13 = *(int **)(puVar22 + 0xc);\n          puVar20 = puVar22;\n          puVar21 = puVar22;\n          if (iVar15 == 0) break;\nLAB_0001b819:\n          puVar21 = puVar20;\n          if (*piVar13 != 9) break;\n          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;\n          *(undefined4 *)(puVar20 + -8) = 0xc1a;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          puVar22 = puVar20 + -0x10;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;\n          (*pcVar2)();\n        }" ({ "{") (expression_statement "*(int *)(puVar22 + -0x10) = iVar6;" (assignment_expression "*(int *)(puVar22 + -0x10) = iVar6" (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1b851;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1b851" (pointer_expression "*(undefined4 *)(puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x14)" (( "(") (binary_expression "puVar22 + -0x14" (identifier "puVar22") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b851")) (; ";")) (expression_statement "iVar15 = close(*(int *)(puVar22 + -0x10));" (assignment_expression "iVar15 = close(*(int *)(puVar22 + -0x10))" (identifier "iVar15") (= "=") (call_expression "close(*(int *)(puVar22 + -0x10))" (identifier "close") (argument_list "(*(int *)(puVar22 + -0x10))" (( "(") (pointer_expression "*(int *)(puVar22 + -0x10)" (* "*") (cast_expression "(int *)(puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar13 = *(int **)(puVar22 + 0xc);" (assignment_expression "piVar13 = *(int **)(puVar22 + 0xc)" (identifier "piVar13") (= "=") (pointer_expression "*(int **)(puVar22 + 0xc)" (* "*") (cast_expression "(int **)(puVar22 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0xc)" (( "(") (binary_expression "puVar22 + 0xc" (identifier "puVar22") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "puVar20 = puVar22;" (assignment_expression "puVar20 = puVar22" (identifier "puVar20") (= "=") (identifier "puVar22")) (; ";")) (expression_statement "puVar21 = puVar22;" (assignment_expression "puVar21 = puVar22" (identifier "puVar21") (= "=") (identifier "puVar22")) (; ";")) (if_statement "if (iVar15 == 0) break;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_0001b819:\n          puVar21 = puVar20;" (statement_identifier "LAB_0001b819") (: ":") (expression_statement "puVar21 = puVar20;" (assignment_expression "puVar21 = puVar20" (identifier "puVar21") (= "=") (identifier "puVar20")) (; ";"))) (if_statement "if (*piVar13 != 9) break;" (if "if") (parenthesized_expression "(*piVar13 != 9)" (( "(") (binary_expression "*piVar13 != 9" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (!= "!=") (number_literal "9")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xf9eb;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xf9eb" (pointer_expression "*(int *)(puVar20 + -4)" (* "*") (cast_expression "(int *)(puVar20 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0xf9eb" (identifier "iVar4") (+ "+") (number_literal "0xf9eb"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xc1a;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xc1a" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0xc1a")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0xf9d7" (identifier "iVar4") (+ "+") (number_literal "0xf9d7"))) (; ";")) (expression_statement "puVar22 = puVar20 + -0x10;" (assignment_expression "puVar22 = puVar20 + -0x10" (identifier "puVar22") (= "=") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x199fb)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x199fb)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x199fb)" (( "(") (binary_expression "iVar4 + 0x199fb" (identifier "iVar4") (+ "+") (number_literal "0x199fb")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x199ff);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x199ff)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x199ff)" (* "*") (cast_expression "(code **)(iVar4 + 0x199ff)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x199ff)" (( "(") (binary_expression "iVar4 + 0x199ff" (identifier "iVar4") (+ "+") (number_literal "0x199ff")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b841;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b841" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b841")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }" (if "if") (parenthesized_expression "((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2))" (( "(") (binary_expression "(iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)" (parenthesized_expression "(iVar17 == 0xc || iVar17 == 0x69)" (( "(") (binary_expression "iVar17 == 0xc || iVar17 == 0x69" (binary_expression "iVar17 == 0xc" (identifier "iVar17") (== "==") (number_literal "0xc")) (|| "||") (binary_expression "iVar17 == 0x69" (identifier "iVar17") (== "==") (number_literal "0x69"))) () ")")) (|| "||") (parenthesized_expression "(iVar17 - 0x17U < 2)" (( "(") (binary_expression "iVar17 - 0x17U < 2" (binary_expression "iVar17 - 0x17U" (identifier "iVar17") (- "-") (number_literal "0x17U")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }\n        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;\n        *(int *)(puVar21 + -0x10) = iVar12;\n        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;\n        FUN_000215b0();\n      }" ({ "{") (if_statement "if (*(int *)(iVar12 + 0xe8) != 0) {\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar12 + 0xe8) != 0)" (( "(") (binary_expression "*(int *)(iVar12 + 0xe8) != 0" (pointer_expression "*(int *)(iVar12 + 0xe8)" (* "*") (cast_expression "(int *)(iVar12 + 0xe8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xe8)" (( "(") (binary_expression "iVar12 + 0xe8" (identifier "iVar12") (+ "+") (number_literal "0xe8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar17 = iVar12 + 0xac;\n          *(int *)(puVar21 + -0x10) = iVar17;\n          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;\n          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));\n          if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }\n          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;\n          *(undefined4 *)(puVar20 + -8) = 0xc30;\n          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;\n          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n          pcVar2 = *(code **)(iVar4 + 0x199ff);\n          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;\n          uVar24 = (*pcVar2)();\n          iVar15 = (int)uVar24;\n          *(int *)(puVar20 + -0x14) = iVar6;\n          *(int *)(puVar20 + -0x18) = iVar17;\n          *(int *)(puVar20 + -0x1c) = iVar12;\n          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;\n          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;\n          iVar12 = *(int *)(puVar20 + -0x24);\n          iVar4 = *(int *)(iVar15 + 0xc4);\n          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);\n          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n          *(undefined4 *)(puVar20 + -0x40) = 0;\n          *(undefined4 *)(puVar20 + -0x3c) = 0;\n          *(undefined4 *)(puVar20 + -0x38) = 0;\n          *(undefined4 *)(puVar20 + -0x34) = 0;\n          if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }\n          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;\n          if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }\n          uVar23 = 1;\nLAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }\n          return uVar23;\n        }" ({ "{") (expression_statement "iVar17 = iVar12 + 0xac;" (assignment_expression "iVar17 = iVar12 + 0xac" (identifier "iVar17") (= "=") (binary_expression "iVar12 + 0xac" (identifier "iVar12") (+ "+") (number_literal "0xac"))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x10) = iVar17;" (assignment_expression "*(int *)(puVar21 + -0x10) = iVar17" (pointer_expression "*(int *)(puVar21 + -0x10)" (* "*") (cast_expression "(int *)(puVar21 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b75b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b75b" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b75b")) (; ";")) (expression_statement "iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));" (assignment_expression "iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10))" (identifier "iVar15") (= "=") (call_expression "pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10))" (identifier "pthread_mutex_lock") (argument_list "(*(pthread_mutex_t **)(puVar21 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)(puVar21 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar21 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar15 == 0) {\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }\n          else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined1 *)(iVar12 + 0xe2) = 1;\n            *(int *)(puVar21 + -0x10) = iVar17;\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;\n            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));\n            puVar20 = puVar21;\n            if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }\n          }" ({ "{") (expression_statement "*(undefined1 *)(iVar12 + 0xe2) = 1;" (assignment_expression "*(undefined1 *)(iVar12 + 0xe2) = 1" (pointer_expression "*(undefined1 *)(iVar12 + 0xe2)" (* "*") (cast_expression "(undefined1 *)(iVar12 + 0xe2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xe2)" (( "(") (binary_expression "iVar12 + 0xe2" (identifier "iVar12") (+ "+") (number_literal "0xe2")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x10) = iVar17;" (assignment_expression "*(int *)(puVar21 + -0x10) = iVar17" (pointer_expression "*(int *)(puVar21 + -0x10)" (* "*") (cast_expression "(int *)(puVar21 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b776;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b776" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b776")) (; ";")) (expression_statement "iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));" (assignment_expression "iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10))" (identifier "iVar15") (= "=") (call_expression "pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10))" (identifier "pthread_mutex_unlock") (argument_list "(*(pthread_mutex_t **)(puVar21 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)(puVar21 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar21 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar20 = puVar21;" (assignment_expression "puVar20 = puVar21" (identifier "puVar20") (= "=") (identifier "puVar21")) (; ";")) (if_statement "if (iVar15 == 0) {\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar21 + 0xc) = 0;\n              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);\n              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;\n              *(int *)(puVar21 + -0x10) = iVar12;\n              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;\n              FUN_000215b0();\n              uVar23 = *(undefined4 *)(puVar21 + 0xc);\n              goto LAB_0001b7c2;\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar21 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar21 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0xc)" (( "(") (binary_expression "puVar21 + 0xc" (identifier "puVar21") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);" (assignment_expression "*(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8)" (pointer_expression "*(undefined4 *)(puVar21 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -8)" (( "(") (binary_expression "puVar21 + -8" (identifier "puVar21") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar12 + 0xe8)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 0xe8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xe8)" (( "(") (binary_expression "iVar12 + 0xe8" (identifier "iVar12") (+ "+") (number_literal "0xe8")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10513;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10513" (pointer_expression "*(int *)(puVar21 + -0xc)" (* "*") (cast_expression "(int *)(puVar21 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xc)" (( "(") (binary_expression "puVar21 + -0xc" (identifier "puVar21") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10513" (identifier "iVar4") (+ "+") (number_literal "0x10513"))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x10)" (* "*") (cast_expression "(int *)(puVar21 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b79b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b79b" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b79b")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar23 = *(undefined4 *)(puVar21 + 0xc);" (assignment_expression "uVar23 = *(undefined4 *)(puVar21 + 0xc)" (identifier "uVar23") (= "=") (pointer_expression "*(undefined4 *)(puVar21 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar21 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0xc)" (( "(") (binary_expression "puVar21 + 0xc" (identifier "puVar21") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (goto_statement "goto LAB_0001b7c2;" (goto "goto") (statement_identifier "LAB_0001b7c2") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }" (else "else") (compound_statement "{\n            *(int *)(puVar21 + -4) = iVar4 + 0xe993;\n            *(undefined4 *)(puVar21 + -8) = 0xc2c;\n            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;\n            puVar20 = puVar21 + -0x10;\n            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);\n            pcVar2 = *(code **)(iVar4 + 0x199ff);\n            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;\n            (*pcVar2)();\n          }" ({ "{") (expression_statement "*(int *)(puVar21 + -4) = iVar4 + 0xe993;" (assignment_expression "*(int *)(puVar21 + -4) = iVar4 + 0xe993" (pointer_expression "*(int *)(puVar21 + -4)" (* "*") (cast_expression "(int *)(puVar21 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -4)" (( "(") (binary_expression "puVar21 + -4" (identifier "puVar21") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0xe993" (identifier "iVar4") (+ "+") (number_literal "0xe993"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0xc2c;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0xc2c" (pointer_expression "*(undefined4 *)(puVar21 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -8)" (( "(") (binary_expression "puVar21 + -8" (identifier "puVar21") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0xc2c")) (; ";")) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7" (pointer_expression "*(int *)(puVar21 + -0xc)" (* "*") (cast_expression "(int *)(puVar21 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xc)" (( "(") (binary_expression "puVar21 + -0xc" (identifier "puVar21") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0xf9d7" (identifier "iVar4") (+ "+") (number_literal "0xf9d7"))) (; ";")) (expression_statement "puVar20 = puVar21 + -0x10;" (assignment_expression "puVar20 = puVar21 + -0x10" (identifier "puVar20") (= "=") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb)" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x199fb)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x199fb)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x199fb)" (( "(") (binary_expression "iVar4 + 0x199fb" (identifier "iVar4") (+ "+") (number_literal "0x199fb")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x199ff);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x199ff)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x199ff)" (* "*") (cast_expression "(code **)(iVar4 + 0x199ff)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x199ff)" (( "(") (binary_expression "iVar4 + 0x199ff" (identifier "iVar4") (+ "+") (number_literal "0x199ff")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b886;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b886" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b886")) (; ";")) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "*(int *)(puVar20 + -4) = iVar4 + 0xe9b7;" (assignment_expression "*(int *)(puVar20 + -4) = iVar4 + 0xe9b7" (pointer_expression "*(int *)(puVar20 + -4)" (* "*") (cast_expression "(int *)(puVar20 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar4 + 0xe9b7" (identifier "iVar4") (+ "+") (number_literal "0xe9b7"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xc30;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xc30" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0xc30")) (; ";")) (expression_statement "*(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;" (assignment_expression "*(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7" (pointer_expression "*(int *)(puVar20 + -0xc)" (* "*") (cast_expression "(int *)(puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0xf9d7" (identifier "iVar4") (+ "+") (number_literal "0xf9d7"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb)" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar4 + 0x199fb)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x199fb)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x199fb)" (( "(") (binary_expression "iVar4 + 0x199fb" (identifier "iVar4") (+ "+") (number_literal "0x199fb")) () ")"))))) (; ";")) (expression_statement "pcVar2 = *(code **)(iVar4 + 0x199ff);" (assignment_expression "pcVar2 = *(code **)(iVar4 + 0x199ff)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(iVar4 + 0x199ff)" (* "*") (cast_expression "(code **)(iVar4 + 0x199ff)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0x199ff)" (( "(") (binary_expression "iVar4 + 0x199ff" (identifier "iVar4") (+ "+") (number_literal "0x199ff")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1b8a5" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b8a5")) (; ";")) (expression_statement "uVar24 = (*pcVar2)();" (assignment_expression "uVar24 = (*pcVar2)()" (identifier "uVar24") (= "=") (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar15 = (int)uVar24;" (assignment_expression "iVar15 = (int)uVar24" (identifier "iVar15") (= "=") (cast_expression "(int)uVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar24"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x14) = iVar6;" (assignment_expression "*(int *)(puVar20 + -0x14) = iVar6" (pointer_expression "*(int *)(puVar20 + -0x14)" (* "*") (cast_expression "(int *)(puVar20 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x18) = iVar17;" (assignment_expression "*(int *)(puVar20 + -0x18) = iVar17" (pointer_expression "*(int *)(puVar20 + -0x18)" (* "*") (cast_expression "(int *)(puVar20 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x18)" (( "(") (binary_expression "puVar20 + -0x18" (identifier "puVar20") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x1c) = iVar12;" (assignment_expression "*(int *)(puVar20 + -0x1c) = iVar12" (pointer_expression "*(int *)(puVar20 + -0x1c)" (* "*") (cast_expression "(int *)(puVar20 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x1c)" (( "(") (binary_expression "puVar20 + -0x1c" (identifier "puVar20") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x20) = iVar4 + 0x19773;" (assignment_expression "*(int *)(puVar20 + -0x20) = iVar4 + 0x19773" (pointer_expression "*(int *)(puVar20 + -0x20)" (* "*") (cast_expression "(int *)(puVar20 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x20)" (( "(") (binary_expression "puVar20 + -0x20" (identifier "puVar20") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (binary_expression "iVar4 + 0x19773" (identifier "iVar4") (+ "+") (number_literal "0x19773"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;" (assignment_expression "*(undefined4 *)(puVar20 + -0x24) = 0x1b8bb" (pointer_expression "*(undefined4 *)(puVar20 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x24)" (( "(") (binary_expression "puVar20 + -0x24" (identifier "puVar20") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1b8bb")) (; ";")) (expression_statement "iVar12 = *(int *)(puVar20 + -0x24);" (assignment_expression "iVar12 = *(int *)(puVar20 + -0x24)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(puVar20 + -0x24)" (* "*") (cast_expression "(int *)(puVar20 + -0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x24)" (( "(") (binary_expression "puVar20 + -0x24" (identifier "puVar20") (+ "+") (number_literal "-0x24")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar15 + 0xc4);" (assignment_expression "iVar4 = *(int *)(iVar15 + 0xc4)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar15 + 0xc4)" (* "*") (cast_expression "(int *)(iVar15 + 0xc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xc4)" (( "(") (binary_expression "iVar15 + 0xc4" (identifier "iVar15") (+ "+") (number_literal "0xc4")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);" (assignment_expression "*(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20)" (pointer_expression "*(int *)(puVar20 + -0x54)" (* "*") (cast_expression "(int *)(puVar20 + -0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x54)" (( "(") (binary_expression "puVar20 + -0x54" (identifier "puVar20") (+ "+") (number_literal "-0x54")) () ")")))) (= "=") (cast_expression "(int)((ulonglong)uVar24 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar24 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar24 >> 0x20" (cast_expression "(ulonglong)uVar24" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar24")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar20 + -0x30)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x30)" (( "(") (binary_expression "puVar20 + -0x30" (identifier "puVar20") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x40) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x40) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x40)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x40)" (( "(") (binary_expression "puVar20 + -0x40" (identifier "puVar20") (+ "+") (number_literal "-0x40")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x3c) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x3c) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x3c)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x3c)" (( "(") (binary_expression "puVar20 + -0x3c" (identifier "puVar20") (+ "+") (number_literal "-0x3c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x38)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x38)" (( "(") (binary_expression "puVar20 + -0x38" (identifier "puVar20") (+ "+") (number_literal "-0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x34) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x34)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x34)" (( "(") (binary_expression "puVar20 + -0x34" (identifier "puVar20") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar4 == -1) {\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }\n          else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" (if "if") (parenthesized_expression "(iVar4 == -1)" (( "(") (binary_expression "iVar4 == -1" (identifier "iVar4") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            iVar17 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar4 = 0;\n            iVar6 = -1;\n          }" ({ "{") (expression_statement "iVar17 = 1;" (assignment_expression "iVar17 = 1" (identifier "iVar17") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x58) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x58) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x58)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x58)" (( "(") (binary_expression "puVar20 + -0x58" (identifier "puVar20") (+ "+") (number_literal "-0x58")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" (identifier "iVar6") (= "=") (number_literal "-1")) (; ";")) (} "}")) (else_clause "else if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" (else "else") (if_statement "if (*(char *)(iVar15 + 0xe1) == '\0') {\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }\n          else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" (if "if") (parenthesized_expression "(*(char *)(iVar15 + 0xe1) == '\0')" (( "(") (binary_expression "*(char *)(iVar15 + 0xe1) == '\0'" (pointer_expression "*(char *)(iVar15 + 0xe1)" (* "*") (cast_expression "(char *)(iVar15 + 0xe1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xe1)" (( "(") (binary_expression "iVar15 + 0xe1" (identifier "iVar15") (+ "+") (number_literal "0xe1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            *(int *)(puVar20 + -0x40) = iVar4;\n            iVar6 = 0;\n            iVar17 = 2;\n            *(undefined2 *)(puVar20 + -0x3c) = 1;\n            iVar4 = 1;\n            *(undefined4 *)(puVar20 + -0x58) = 1;\n          }" ({ "{") (expression_statement "*(int *)(puVar20 + -0x40) = iVar4;" (assignment_expression "*(int *)(puVar20 + -0x40) = iVar4" (pointer_expression "*(int *)(puVar20 + -0x40)" (* "*") (cast_expression "(int *)(puVar20 + -0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x40)" (( "(") (binary_expression "puVar20 + -0x40" (identifier "puVar20") (+ "+") (number_literal "-0x40")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar17 = 2;" (assignment_expression "iVar17 = 2" (identifier "iVar17") (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined2 *)(puVar20 + -0x3c) = 1;" (assignment_expression "*(undefined2 *)(puVar20 + -0x3c) = 1" (pointer_expression "*(undefined2 *)(puVar20 + -0x3c)" (* "*") (cast_expression "(undefined2 *)(puVar20 + -0x3c)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x3c)" (( "(") (binary_expression "puVar20 + -0x3c" (identifier "puVar20") (+ "+") (number_literal "-0x3c")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" (identifier "iVar4") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x58) = 1;" (assignment_expression "*(undefined4 *)(puVar20 + -0x58) = 1" (pointer_expression "*(undefined4 *)(puVar20 + -0x58)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x58)" (( "(") (binary_expression "puVar20 + -0x58" (identifier "puVar20") (+ "+") (number_literal "-0x58")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" (else "else") (compound_statement "{\n            *(undefined4 *)(puVar20 + -0x58) = 0;\n            iVar17 = 1;\n            iVar6 = -1;\n            iVar4 = 0;\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -0x58) = 0;" (assignment_expression "*(undefined4 *)(puVar20 + -0x58) = 0" (pointer_expression "*(undefined4 *)(puVar20 + -0x58)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x58)" (( "(") (binary_expression "puVar20 + -0x58" (identifier "puVar20") (+ "+") (number_literal "-0x58")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar17 = 1;" (assignment_expression "iVar17 = 1" (identifier "iVar17") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar6 = -1;" (assignment_expression "iVar6 = -1" (identifier "iVar6") (= "=") (number_literal "-1")) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (} "}")))))) (expression_statement "uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;" (assignment_expression "uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000" (identifier "uVar3") (= "=") (binary_expression "*(uint *)(iVar15 + 0xf8) & 0x2000" (pointer_expression "*(uint *)(iVar15 + 0xf8)" (* "*") (cast_expression "(uint *)(iVar15 + 0xf8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xf8)" (( "(") (binary_expression "iVar15 + 0xf8" (identifier "iVar15") (+ "+") (number_literal "0xf8")) () ")")))) (& "&") (number_literal "0x2000"))) (; ";")) (if_statement "if (*(int *)(iVar15 + 0xdc) == -1) {\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }\n          else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }" (if "if") (parenthesized_expression "(*(int *)(iVar15 + 0xdc) == -1)" (( "(") (binary_expression "*(int *)(iVar15 + 0xdc) == -1" (pointer_expression "*(int *)(iVar15 + 0xdc)" (* "*") (cast_expression "(int *)(iVar15 + 0xdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xdc)" (( "(") (binary_expression "iVar15 + 0xdc" (identifier "iVar15") (+ "+") (number_literal "0xdc")) () ")")))) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            iVar17 = -1;\n            if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }\nLAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }\n          }" ({ "{") (expression_statement "iVar17 = -1;" (assignment_expression "iVar17 = -1" (identifier "iVar17") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (uVar3 != 0) {\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }" (if "if") (parenthesized_expression "(uVar3 != 0)" (( "(") (binary_expression "uVar3 != 0" (identifier "uVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;\n              goto LAB_0001ba92;\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -0x58) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar20 + -0x58) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar20 + -0x58)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x58)" (( "(") (binary_expression "puVar20 + -0x58" (identifier "puVar20") (+ "+") (number_literal "-0x58")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (goto_statement "goto LAB_0001ba92;" (goto "goto") (statement_identifier "LAB_0001ba92") (; ";")) (} "}"))) (labeled_statement "LAB_0001ba1c:\n            if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }" (statement_identifier "LAB_0001ba1c") (: ":") (if_statement "if (iVar4 != 0) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar20 + -0x60) = 0x10;\n              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n              *(int *)(puVar20 + -0x68) = iVar4;\n              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;\n              iVar4 = __poll_chk();\n              if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }\nLAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;\n              piVar13 = __errno_location();\n              if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x10;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x10" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x60)" (( "(") (binary_expression "puVar20 + -0x60" (identifier "puVar20") (+ "+") (number_literal "-0x60")) () ")")))) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "*(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);" (assignment_expression "*(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54)" (pointer_expression "*(int *)(puVar20 + -100)" (* "*") (cast_expression "(int *)(puVar20 + -100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -100)" (( "(") (binary_expression "puVar20 + -100" (identifier "puVar20") (+ "+") (number_literal "-100")) () ")")))) (= "=") (unary_expression "-*(int *)(puVar20 + -0x54)" (- "-") (pointer_expression "*(int *)(puVar20 + -0x54)" (* "*") (cast_expression "(int *)(puVar20 + -0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x54)" (( "(") (binary_expression "puVar20 + -0x54" (identifier "puVar20") (+ "+") (number_literal "-0x54")) () ")")))))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x68) = iVar4;" (assignment_expression "*(int *)(puVar20 + -0x68) = iVar4" (pointer_expression "*(int *)(puVar20 + -0x68)" (* "*") (cast_expression "(int *)(puVar20 + -0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x68)" (( "(") (binary_expression "puVar20 + -0x68" (identifier "puVar20") (+ "+") (number_literal "-0x68")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;" (assignment_expression "*(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40" (pointer_expression "*(undefined1 **)(puVar20 + -0x6c)" (* "*") (cast_expression "(undefined1 **)(puVar20 + -0x6c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x6c)" (( "(") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c")) () ")")))) (= "=") (binary_expression "puVar20 + -0x40" (identifier "puVar20") (+ "+") (number_literal "-0x40"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1ba34;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1ba34" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x70)" (( "(") (binary_expression "puVar20 + -0x70" (identifier "puVar20") (+ "+") (number_literal "-0x70")) () ")")))) (= "=") (number_literal "0x1ba34")) (; ";")) (expression_statement "iVar4 = __poll_chk();" (assignment_expression "iVar4 = __poll_chk()" (identifier "iVar4") (= "=") (call_expression "__poll_chk()" (identifier "__poll_chk") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (-1 < iVar4) {\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }" (if "if") (parenthesized_expression "(-1 < iVar4)" (( "(") (binary_expression "-1 < iVar4" (number_literal "-1") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n                if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }\n                goto LAB_0001b984;\n              }" ({ "{") (if_statement "if (iVar17 != -1) {\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }" (if "if") (parenthesized_expression "(iVar17 != -1)" (( "(") (binary_expression "iVar17 != -1" (identifier "iVar17") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n                  *(int *)(puVar20 + -0x58) = iVar17;\n                  goto LAB_0001b975;\n                }" ({ "{") (expression_statement "*(int *)(puVar20 + -0x58) = iVar17;" (assignment_expression "*(int *)(puVar20 + -0x58) = iVar17" (pointer_expression "*(int *)(puVar20 + -0x58)" (* "*") (cast_expression "(int *)(puVar20 + -0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x58)" (( "(") (binary_expression "puVar20 + -0x58" (identifier "puVar20") (+ "+") (number_literal "-0x58")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (goto_statement "goto LAB_0001b975;" (goto "goto") (statement_identifier "LAB_0001b975") (; ";")) (} "}"))) (goto_statement "goto LAB_0001b984;" (goto "goto") (statement_identifier "LAB_0001b984") (; ";")) (} "}"))) (labeled_statement "LAB_0001ba50:\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;" (statement_identifier "LAB_0001ba50") (: ":") (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x1ba55;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x1ba55" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x60)" (( "(") (binary_expression "puVar20 + -0x60" (identifier "puVar20") (+ "+") (number_literal "-0x60")) () ")")))) (= "=") (number_literal "0x1ba55")) (; ";"))) (expression_statement "piVar13 = __errno_location();" (assignment_expression "piVar13 = __errno_location()" (identifier "piVar13") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar13 != 4) {\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }" (if "if") (parenthesized_expression "(*piVar13 != 4)" (( "(") (binary_expression "*piVar13 != 4" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n                *(int *)(puVar20 + -0x6c) = *piVar13;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;\n                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));\n                *(char **)(puVar20 + -100) = pcVar14;\n                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;\n                *(int *)(puVar20 + -0x6c) = iVar15;\n                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;\n                FUN_000215b0();\n                uVar23 = 0;\n                goto LAB_0001b9ad;\n              }" ({ "{") (expression_statement "*(int *)(puVar20 + -0x6c) = *piVar13;" (assignment_expression "*(int *)(puVar20 + -0x6c) = *piVar13" (pointer_expression "*(int *)(puVar20 + -0x6c)" (* "*") (cast_expression "(int *)(puVar20 + -0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x6c)" (( "(") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c")) () ")")))) (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1ba69;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1ba69" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x70)" (( "(") (binary_expression "puVar20 + -0x70" (identifier "puVar20") (+ "+") (number_literal "-0x70")) () ")")))) (= "=") (number_literal "0x1ba69")) (; ";")) (expression_statement "pcVar14 = strerror(*(int *)(puVar20 + -0x6c));" (assignment_expression "pcVar14 = strerror(*(int *)(puVar20 + -0x6c))" (identifier "pcVar14") (= "=") (call_expression "strerror(*(int *)(puVar20 + -0x6c))" (identifier "strerror") (argument_list "(*(int *)(puVar20 + -0x6c))" (( "(") (pointer_expression "*(int *)(puVar20 + -0x6c)" (* "*") (cast_expression "(int *)(puVar20 + -0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x6c)" (( "(") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)(puVar20 + -100) = pcVar14;" (assignment_expression "*(char **)(puVar20 + -100) = pcVar14" (pointer_expression "*(char **)(puVar20 + -100)" (* "*") (cast_expression "(char **)(puVar20 + -100)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -100)" (( "(") (binary_expression "puVar20 + -100" (identifier "puVar20") (+ "+") (number_literal "-100")) () ")")))) (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "*(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;" (assignment_expression "*(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7" (pointer_expression "*(int *)(puVar20 + -0x68)" (* "*") (cast_expression "(int *)(puVar20 + -0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x68)" (( "(") (binary_expression "puVar20 + -0x68" (identifier "puVar20") (+ "+") (number_literal "-0x68")) () ")")))) (= "=") (binary_expression "iVar12 + 0xf7f7" (identifier "iVar12") (+ "+") (number_literal "0xf7f7"))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x6c) = iVar15;" (assignment_expression "*(int *)(puVar20 + -0x6c) = iVar15" (pointer_expression "*(int *)(puVar20 + -0x6c)" (* "*") (cast_expression "(int *)(puVar20 + -0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x6c)" (( "(") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1ba7a" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x70)" (( "(") (binary_expression "puVar20 + -0x70" (identifier "puVar20") (+ "+") (number_literal "-0x70")) () ")")))) (= "=") (number_literal "0x1ba7a")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001b9ad;" (goto "goto") (statement_identifier "LAB_0001b9ad") (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }" (else "else") (compound_statement "{\n            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);\n            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;\n            iVar4 = iVar17;\n            if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }\n            *(undefined4 *)(puVar20 + -0x60) = 0x10;\n            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);\n            *(int *)(puVar20 + -0x68) = iVar17;\n            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;\n            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;\n            iVar4 = __poll_chk();\n            if (iVar4 < 0) goto LAB_0001ba50;\nLAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }\nLAB_0001b984:\n            uVar23 = 0;\n            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;\n            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }\n          }" ({ "{") (expression_statement "*(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);" (assignment_expression "*(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc)" (pointer_expression "*(int *)(puVar20 + iVar4 * 8 + -0x40)" (* "*") (cast_expression "(int *)(puVar20 + iVar4 * 8 + -0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + iVar4 * 8 + -0x40)" (( "(") (binary_expression "puVar20 + iVar4 * 8 + -0x40" (binary_expression "puVar20 + iVar4 * 8" (identifier "puVar20") (+ "+") (binary_expression "iVar4 * 8" (identifier "iVar4") (* "*") (number_literal "8"))) (+ "+") (number_literal "-0x40")) () ")")))) (= "=") (pointer_expression "*(int *)(iVar15 + 0xdc)" (* "*") (cast_expression "(int *)(iVar15 + 0xdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xdc)" (( "(") (binary_expression "iVar15 + 0xdc" (identifier "iVar15") (+ "+") (number_literal "0xdc")) () ")"))))) (; ";")) (expression_statement "*(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;" (assignment_expression "*(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1" (pointer_expression "*(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c)" (* "*") (cast_expression "(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + iVar4 * 8 + -0x3c)" (( "(") (binary_expression "puVar20 + iVar4 * 8 + -0x3c" (binary_expression "puVar20 + iVar4 * 8" (identifier "puVar20") (+ "+") (binary_expression "iVar4 * 8" (identifier "iVar4") (* "*") (number_literal "8"))) (+ "+") (number_literal "-0x3c")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar4 = iVar17;" (assignment_expression "iVar4 = iVar17" (identifier "iVar4") (= "=") (identifier "iVar17")) (; ";")) (if_statement "if (uVar3 != 0) {\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }" (if "if") (parenthesized_expression "(uVar3 != 0)" (( "(") (binary_expression "uVar3 != 0" (identifier "uVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;\n              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;\n              FUN_000190f0();\n              iVar4 = *(int *)(puVar20 + -0x50);\n              iVar17 = *(int *)(puVar20 + -0x58);\n              goto LAB_0001ba1c;\n            }" ({ "{") (labeled_statement "LAB_0001ba92:\n              *(int *)(puVar20 + -0x50) = iVar4;" (statement_identifier "LAB_0001ba92") (: ":") (expression_statement "*(int *)(puVar20 + -0x50) = iVar4;" (assignment_expression "*(int *)(puVar20 + -0x50) = iVar4" (pointer_expression "*(int *)(puVar20 + -0x50)" (* "*") (cast_expression "(int *)(puVar20 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x50)" (( "(") (binary_expression "puVar20 + -0x50" (identifier "puVar20") (+ "+") (number_literal "-0x50")) () ")")))) (= "=") (identifier "iVar4")) (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x1ba9d" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x60)" (( "(") (binary_expression "puVar20 + -0x60" (identifier "puVar20") (+ "+") (number_literal "-0x60")) () ")")))) (= "=") (number_literal "0x1ba9d")) (; ";")) (expression_statement "FUN_000190f0();" (call_expression "FUN_000190f0()" (identifier "FUN_000190f0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)(puVar20 + -0x50);" (assignment_expression "iVar4 = *(int *)(puVar20 + -0x50)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(puVar20 + -0x50)" (* "*") (cast_expression "(int *)(puVar20 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x50)" (( "(") (binary_expression "puVar20 + -0x50" (identifier "puVar20") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (expression_statement "iVar17 = *(int *)(puVar20 + -0x58);" (assignment_expression "iVar17 = *(int *)(puVar20 + -0x58)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(puVar20 + -0x58)" (* "*") (cast_expression "(int *)(puVar20 + -0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x58)" (( "(") (binary_expression "puVar20 + -0x58" (identifier "puVar20") (+ "+") (number_literal "-0x58")) () ")"))))) (; ";")) (goto_statement "goto LAB_0001ba1c;" (goto "goto") (statement_identifier "LAB_0001ba1c") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x10;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x10" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x60)" (( "(") (binary_expression "puVar20 + -0x60" (identifier "puVar20") (+ "+") (number_literal "-0x60")) () ")")))) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "*(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);" (assignment_expression "*(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54)" (pointer_expression "*(int *)(puVar20 + -100)" (* "*") (cast_expression "(int *)(puVar20 + -100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -100)" (( "(") (binary_expression "puVar20 + -100" (identifier "puVar20") (+ "+") (number_literal "-100")) () ")")))) (= "=") (unary_expression "-*(int *)(puVar20 + -0x54)" (- "-") (pointer_expression "*(int *)(puVar20 + -0x54)" (* "*") (cast_expression "(int *)(puVar20 + -0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x54)" (( "(") (binary_expression "puVar20 + -0x54" (identifier "puVar20") (+ "+") (number_literal "-0x54")) () ")")))))) (; ";")) (expression_statement "*(int *)(puVar20 + -0x68) = iVar17;" (assignment_expression "*(int *)(puVar20 + -0x68) = iVar17" (pointer_expression "*(int *)(puVar20 + -0x68)" (* "*") (cast_expression "(int *)(puVar20 + -0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x68)" (( "(") (binary_expression "puVar20 + -0x68" (identifier "puVar20") (+ "+") (number_literal "-0x68")) () ")")))) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "*(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;" (assignment_expression "*(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40" (pointer_expression "*(undefined1 **)(puVar20 + -0x6c)" (* "*") (cast_expression "(undefined1 **)(puVar20 + -0x6c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x6c)" (( "(") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c")) () ")")))) (= "=") (binary_expression "puVar20 + -0x40" (identifier "puVar20") (+ "+") (number_literal "-0x40"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1b96a;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1b96a" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x70)" (( "(") (binary_expression "puVar20 + -0x70" (identifier "puVar20") (+ "+") (number_literal "-0x70")) () ")")))) (= "=") (number_literal "0x1b96a")) (; ";")) (expression_statement "iVar4 = __poll_chk();" (assignment_expression "iVar4 = __poll_chk()" (identifier "iVar4") (= "=") (call_expression "__poll_chk()" (identifier "__poll_chk") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 < 0) goto LAB_0001ba50;" (if "if") (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001ba50;" (goto "goto") (statement_identifier "LAB_0001ba50") (; ";"))) (labeled_statement "LAB_0001b975:\n            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }" (statement_identifier "LAB_0001b975") (: ":") (if_statement "if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }" (if "if") (parenthesized_expression "((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0)" (( "(") (binary_expression "(puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0" (parenthesized_expression "(puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1)" (( "(") (binary_expression "puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1" (subscript_expression "puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a]" (identifier "puVar20") ([ "[") (binary_expression "*(int *)(puVar20 + -0x58) * 8 + -0x3a" (binary_expression "*(int *)(puVar20 + -0x58) * 8" (pointer_expression "*(int *)(puVar20 + -0x58)" (* "*") (cast_expression "(int *)(puVar20 + -0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x58)" (( "(") (binary_expression "puVar20 + -0x58" (identifier "puVar20") (+ "+") (number_literal "-0x58")) () ")")))) (* "*") (number_literal "8")) (+ "+") (number_literal "-0x3a")) (] "]")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar20 + -100) = 8;\n              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;\n              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);\n              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;\n              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -100) = 8;" (assignment_expression "*(undefined4 *)(puVar20 + -100) = 8" (pointer_expression "*(undefined4 *)(puVar20 + -100)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -100)" (( "(") (binary_expression "puVar20 + -100" (identifier "puVar20") (+ "+") (number_literal "-100")) () ")")))) (= "=") (number_literal "8")) (; ";")) (expression_statement "*(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;" (assignment_expression "*(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c" (pointer_expression "*(undefined1 **)(puVar20 + -0x68)" (* "*") (cast_expression "(undefined1 **)(puVar20 + -0x68)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x68)" (( "(") (binary_expression "puVar20 + -0x68" (identifier "puVar20") (+ "+") (number_literal "-0x68")) () ")")))) (= "=") (binary_expression "puVar20 + -0x4c" (identifier "puVar20") (+ "+") (number_literal "-0x4c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);" (assignment_expression "*(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc)" (pointer_expression "*(undefined4 *)(puVar20 + -0x6c)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x6c)" (( "(") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar15 + 0xdc)" (* "*") (cast_expression "(undefined4 *)(iVar15 + 0xdc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xdc)" (( "(") (binary_expression "iVar15 + 0xdc" (identifier "iVar15") (+ "+") (number_literal "0xdc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x70) = 0x1bac5;" (assignment_expression "*(undefined4 *)(puVar20 + -0x70) = 0x1bac5" (pointer_expression "*(undefined4 *)(puVar20 + -0x70)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x70)" (( "(") (binary_expression "puVar20 + -0x70" (identifier "puVar20") (+ "+") (number_literal "-0x70")) () ")")))) (= "=") (number_literal "0x1bac5")) (; ";")) (expression_statement "read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  );" (call_expression "read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  )" (identifier "read") (argument_list "(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)\n                  )" (( "(") (pointer_expression "*(int *)(puVar20 + -0x6c)" (* "*") (cast_expression "(int *)(puVar20 + -0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x6c)" (( "(") (binary_expression "puVar20 + -0x6c" (identifier "puVar20") (+ "+") (number_literal "-0x6c")) () ")")))) (, ",") (pointer_expression "*(void **)(puVar20 + -0x68)" (* "*") (cast_expression "(void **)(puVar20 + -0x68)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x68)" (( "(") (binary_expression "puVar20 + -0x68" (identifier "puVar20") (+ "+") (number_literal "-0x68")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar20 + -100)" (* "*") (cast_expression "(size_t *)(puVar20 + -100)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -100)" (( "(") (binary_expression "puVar20 + -100" (identifier "puVar20") (+ "+") (number_literal "-100")) () ")")))) () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_0001b984:\n            uVar23 = 0;" (statement_identifier "LAB_0001b984") (: ":") (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";"))) (if_statement "if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;" (if "if") (parenthesized_expression "(*(char *)(iVar15 + 0xe0) != '\0')" (( "(") (binary_expression "*(char *)(iVar15 + 0xe0) != '\0'" (pointer_expression "*(char *)(iVar15 + 0xe0)" (* "*") (cast_expression "(char *)(iVar15 + 0xe0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xe0)" (( "(") (binary_expression "iVar15 + 0xe0" (identifier "iVar15") (+ "+") (number_literal "0xe0")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0001b9ad;" (goto "goto") (statement_identifier "LAB_0001b9ad") (; ";"))) (if_statement "if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }" (if "if") (parenthesized_expression "((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0))" (( "(") (binary_expression "(iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)" (parenthesized_expression "(iVar6 != -1)" (( "(") (binary_expression "iVar6 != -1" (identifier "iVar6") (!= "!=") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "((puVar20[-0x3a] & 1) != 0)" (( "(") (binary_expression "(puVar20[-0x3a] & 1) != 0" (parenthesized_expression "(puVar20[-0x3a] & 1)" (( "(") (binary_expression "puVar20[-0x3a] & 1" (subscript_expression "puVar20[-0x3a]" (identifier "puVar20") ([ "[") (number_literal "-0x3a") (] "]")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;\n              FUN_0001b660();\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;" (assignment_expression "*(undefined4 *)(puVar20 + -0x60) = 0x1b9a4" (pointer_expression "*(undefined4 *)(puVar20 + -0x60)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x60)" (( "(") (binary_expression "puVar20 + -0x60" (identifier "puVar20") (+ "+") (number_literal "-0x60")) () ")")))) (= "=") (number_literal "0x1b9a4")) (; ";")) (expression_statement "FUN_0001b660();" (call_expression "FUN_0001b660()" (identifier "FUN_0001b660") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" (identifier "uVar23") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_0001b9ad:\n          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }" (statement_identifier "LAB_0001b9ad") (: ":") (if_statement "if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }" (if "if") (parenthesized_expression "(*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar20 + -0x30)" (* "*") (cast_expression "(int *)(puVar20 + -0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x30)" (( "(") (binary_expression "puVar20 + -0x30" (identifier "puVar20") (+ "+") (number_literal "-0x30")) () ")")))) (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;\n            FUN_000299b0();\n          }" ({ "{") (expression_statement "*(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;" (assignment_expression "*(undefined **)(puVar20 + -0x60) = &UNK_0001bad2" (pointer_expression "*(undefined **)(puVar20 + -0x60)" (* "*") (cast_expression "(undefined **)(puVar20 + -0x60)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0x60)" (( "(") (binary_expression "puVar20 + -0x60" (identifier "puVar20") (+ "+") (number_literal "-0x60")) () ")")))) (= "=") (pointer_expression "&UNK_0001bad2" (& "&") (identifier "UNK_0001bad2"))) (; ";")) (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" (identifier "FUN_000299b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return uVar23;" (return "return") (identifier "uVar23") (; ";")) (} "}"))) (expression_statement "*(int *)(puVar21 + -0xc) = iVar4 + 0x10457;" (assignment_expression "*(int *)(puVar21 + -0xc) = iVar4 + 0x10457" (pointer_expression "*(int *)(puVar21 + -0xc)" (* "*") (cast_expression "(int *)(puVar21 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xc)" (( "(") (binary_expression "puVar21 + -0xc" (identifier "puVar21") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar4 + 0x10457" (identifier "iVar4") (+ "+") (number_literal "0x10457"))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x10) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x10) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x10)" (* "*") (cast_expression "(int *)(puVar21 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1b7b8" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b7b8")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (labeled_statement "LAB_0001b7c0:\n  uVar23 = 0;" (statement_identifier "LAB_0001b7c0") (: ":") (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_0001b7c2:\n  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }" (statement_identifier "LAB_0001b7c2") (: ":") (if_statement "if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar21 + 0x3c)" (* "*") (cast_expression "(int *)(puVar21 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x3c)" (( "(") (binary_expression "puVar21 + 0x3c" (identifier "puVar21") (+ "+") (number_literal "0x3c")) () ")")))) (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    *(undefined4 *)(puVar21 + -4) = 0x1b867;\n    FUN_000299b0();\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -4) = 0x1b867;" (assignment_expression "*(undefined4 *)(puVar21 + -4) = 0x1b867" (pointer_expression "*(undefined4 *)(puVar21 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -4)" (( "(") (binary_expression "puVar21 + -4" (identifier "puVar21") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b867")) (; ";")) (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" (identifier "FUN_000299b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return uVar23;" (return "return") (identifier "uVar23") (; ";")) (} "}")))

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

void __regparm3 function_1(type_1 *daemon,type_2 *addr,type_3 var_5)

{
  type_4 *pMVar1;
  type_5 var_30;
  type_3 sVar3;
  type_6 var_44;
  type_7 MVar5;
  type_8 p_Var6;
  type_9 var_60;
  int var_74;
  type_10 var_4;
  type_1 *var_7;
  type_11 *var_9;
  int var_12;
  int *piVar13;
  type_1 *var_19;
  type_12 *var_22;
  type_13 *var_34;
  type_2 *var_36;
  type_14 tVar18;
  type_12 *var_21;
  type_11 *var_68;
  type_12 *var_43;
  ssize_t var_48;
  type_1 *pMVar23;
  char *pcVar24;
  int var_70;
  type_15 var_45;
  type_11 extraout_ECX;
  int var_71;
  type_16 extraout_EDX;
  type_17 *pcVar28;
  type_10 var_20;
  type_11 extraout_EDX_01;
  type_12 *extraout_EDX_02;
  int var_2;
  type_18 *var_16;
  type_11 *var_18;
  type_18 *var_10;
  type_11 *puVar33;
  type_18 *var_73;
  type_18 *var_72;
  int var_1;
  type_19 uVar36;
  type_20 abStack_29e [450];
  size_t asStack_dc [5];
  type_3 sStack_c8;
  int iStack_c4;
  type_10 auStack_c0 [6];
  type_20 abStack_a8 [4];
  int aiStack_a4 [18];
  type_1 *in_stack_ffffffb4;
  type_21 search_key;
  
  var_2 = *(int *)(var_1 + 0x14);
  do {
    var_19 = daemon;
    daemon = var_19->master;
  } while (var_19->master != (type_1 *)0x0);
  if (var_19->per_ip_connection_limit == 0) {
LAB_0001a89b:
    if (var_2 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
      var_3();
    }
    return;
  }
  var_21 = (type_12 *)&search_key;
  var_4 = 0;
  do {
    *(type_11 *)((int)&var_21->nextE + var_4) = 0;
    var_4 = var_4 + 4;
  } while (var_4 < 0x18);
  if (var_5 == 0x10) {
    search_key.addr.ipv4.s_addr = (in_addr)*(type_11 *)(addr->sa_data + 2);
    search_key.family = 2;
  }
  else {
    if (var_5 != 0x1c) goto LAB_0001a89b;
    search_key.addr.ipv4.s_addr = (in_addr)*(type_11 *)(addr->sa_data + 6);
    search_key.family = 10;
    search_key.addr._4_4_ = *(type_11 *)(addr->sa_data + 10);
    search_key.addr._8_2_ = addr[1].sa_family;
    search_key.addr._10_1_ = addr[1].sa_data[0];
    search_key.addr._11_1_ = addr[1].sa_data[1];
    search_key.addr._12_4_ = *(type_11 *)(addr[1].sa_data + 2);
  }
  pMVar1 = &var_19->per_ip_connection_mutex;
  var_7 = (type_1 *)var_6((type_22 *)pMVar1);
  var_18 = (type_11 *)&stack0xffffffb4;
  if (var_7 == (type_1 *)0x0) {
    pcVar28 = MHD_ip_addr_compare;
    var_19 = (type_1 *)&var_19->per_ip_connection_count;
    var_9 = (type_11 *)var_8(var_21,(void **)var_19,MHD_ip_addr_compare);
    var_16 = &stack0xffffffb4;
    if (var_9 != (type_11 *)0x0) {
      var_21 = (type_12 *)*var_9;
      if (var_21->prevX != (type_12 *)0x0) {
        var_10 = &var_21->prevX[-1].field_0xfb;
        var_21->prevX = (type_12 *)var_10;
        if (var_10 == (type_18 *)0x0) goto LAB_0001a978;
        while (var_12 = var_11((type_22 *)pMVar1), var_12 != 0) {
          var_13(in_stack_ffffffb4);
          pcVar28 = extraout_EDX;
LAB_0001a978:
          var_14(var_21,(void **)var_19,pcVar28);
          var_15(var_21);
        }
        goto LAB_0001a89b;
      }
      var_16 = &stack0xffffffa4;
      (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1e2,
                   "Previously-added IP address had counter of zero\n");
    }
    *(char **)(var_16 + -4) = "Failed to find previously-added IP address\n";
    *(type_11 *)(var_16 + -8) = 0x1dc;
    *(char **)(var_16 + -0xc) = "daemon.c";
    var_18 = (type_11 *)(var_16 + -0x10);
    *(void **)(var_16 + -0x10) = mhd_panic_cls;
    *(type_11 *)(var_16 + -0x14) = 0x1a9d3;
    var_7 = (type_1 *)
              (*mhd_panic)(*(void **)(var_16 + -0x10),*(char **)(var_16 + -0xc),
                           *(type_10 *)(var_16 + -8),*(char **)(var_16 + -4));
  }
  var_18[-1] = 0x1a9d8;
  var_17((type_1 *)*var_18);
  var_18[-1] = var_21;
  var_18[-2] = pMVar1;
  var_18[-3] = var_19;
  var_18[-4] = &_GLOBAL_OFFSET_TABLE_;
  var_18[-5] = 0x1a9eb;
  var_2 = var_18[-5];
  var_18[-0x10] = extraout_ECX;
  var_18[-0x11] = var_20;
  var_18[-0xf] = var_18[3];
  var_18[-0xe] = var_18[2];
  var_18[-8] = *(type_11 *)(var_1 + 0x14);
  var_9 = var_18 + -0x13;
  if (((char)var_18[2] != '\0') &&
     (var_19 = var_7->worker_pool, var_9 = var_18 + -0x13, var_19 != (type_1 *)0x0)) {
    var_4 = var_7->worker_pool_size;
    if (var_4 != 0) {
      var_7 = var_19 + var_20 % var_4;
      if (var_7->connection_limit <= var_7->connections) {
        var_22 = (type_12 *)var_18[-0x11];
        var_21 = (type_12 *)((int)&var_22->nextE + var_4);
        do {
          var_22 = (type_12 *)((int)&var_22->nextE + 1);
          if (var_21 == var_22) goto LAB_0001aa90;
          var_7 = var_19 + (type_10)var_22 % var_4;
        } while (var_7->connection_limit <= var_7->connections);
      }
      var_18[-0x15] = (type_10)*(type_20 *)(var_18 + -0xf);
      var_18[-0x16] = 1;
      var_18[-0x17] = var_18[1];
      var_18[-0x18] = 0x1ae14;
      var_23
                (var_7,var_18[-0x11],(type_2 *)var_18[-0x10],var_18[-0x17],
                 *(type_23 *)(var_18 + -0x16),*(type_23 *)(var_18 + -0x15));
      var_9 = var_18 + -0x13;
      goto LAB_0001ab43;
    }
LAB_0001aa90:
    var_9 = var_18 + -0x17;
    var_18[-0x17] = var_18[-0x11];
    var_18[-0x18] = 0x1aa9c;
    var_7 = (type_1 *)var_24(var_18[-0x17]);
    var_18[-0x18] = 0x1aaa3;
    piVar13 = var_25();
    puVar33 = var_18 + -0x13;
    if ((var_7 != (type_1 *)0x0) && (puVar33 = var_18 + -0x13, *piVar13 == 9)) {
      var_18[-0x14] = var_2 + 0x1066d;
      var_18[-0x15] = 0x900;
      var_18[-0x16] = var_2 + 0x10659;
      var_18[-0x17] = *(type_11 *)(var_2 + 0x1a67d);
      pcVar28 = *(type_17 **)(var_2 + 0x1a681);
      var_18[-0x18] = 0x1aad6;
      (*pcVar28)();
      goto LAB_0001aae0;
    }
LAB_0001ab3b:
    var_9 = puVar33;
    *piVar13 = 0x17;
LAB_0001ab43:
    if (*(int *)((int)var_9 + 0x2c) != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
      *(type_11 *)((int)var_9 + -4) = 0x1b4e1;
      var_3();
    }
    return;
  }
LAB_0001aae0:
  if ((*(int *)((int)var_9 + 8) < 0x400) ||
     ((var_7->options & (var_26|var_27)) != var_28)) {
    puVar33 = var_9;
    var_22 = var_21;
    var_19 = var_7;
    pMVar23 = var_7;
    if (var_7->connections != var_7->connection_limit) {
      do {
        var_19 = pMVar23;
        pMVar23 = var_19->master;
      } while (var_19->master != (type_1 *)0x0);
      if (var_19->per_ip_connection_limit != 0) {
        *(type_11 *)((int)var_9 + -0xc) = 1;
        *(type_11 *)((int)var_9 + -0x10) = 0x18;
        *(type_11 *)((int)var_9 + -0x14) = 0x1ad7c;
        var_21 = (type_12 *)
                  var_29(*(size_t *)((int)var_9 + -0x10),*(size_t *)((int)var_9 + -0xc));
        var_22 = var_21;
        if (var_21 == (type_12 *)0x0) goto LAB_0001ab0a;
        if (*(int *)((int)var_9 + 0x50) == 0x10) goto LAB_0001b05b;
        if (*(int *)((int)var_9 + 0x50) == 0x1c) {
          var_12 = *(int *)((int)var_9 + 0xc);
          var_21->nextE = (type_12 *)0xa;
          (((type_24 *)&var_21->prevE)->ipv4).s_addr =
               *(type_25 *)(var_12 + 8);
          var_21->next = *(type_12 **)(var_12 + 0xc);
          var_22 = *(type_12 **)(var_12 + 0x14);
          var_21->prev = *(type_12 **)(var_12 + 0x10);
          var_21->nextX = var_22;
          goto LAB_0001b06b;
        }
        *(type_12 **)((int)var_9 + -0x10) = var_21;
        *(type_11 *)((int)var_9 + -0x14) = 0x1ada8;
        var_15(*(void **)((int)var_9 + -0x10));
      }
      do {
        var_30 = var_7->apc;
        if (var_30 != (type_5)0x0) {
          *(type_11 *)((int)var_9 + -8) = *(type_11 *)((int)var_9 + 0x50);
          *(type_11 *)((int)var_9 + -0xc) = *(type_11 *)((int)var_9 + 0xc);
          *(void **)((int)var_9 + -0x10) = var_7->apc_cls;
          *(type_11 *)((int)var_9 + -0x14) = 0x1ab8e;
          var_19 = (type_1 *)
                    (*var_30)(*(void **)((int)var_9 + -0x10),*(type_2 **)((int)var_9 + -0xc),
                              *(type_3 *)((int)var_9 + -8));
          if (var_19 == (type_1 *)0x0) {
            *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)((int)var_9 + 8);
            *(type_11 *)((int)var_9 + -0x14) = 0x1aea4;
            var_12 = var_24(*(int *)((int)var_9 + -0x10));
            if (var_12 != 0) {
              *(type_11 *)((int)var_9 + -4) = 0x1aeb0;
              piVar13 = var_25();
              if (*piVar13 == 9) goto LAB_0001b55d;
            }
            *(type_11 *)((int)var_9 + -4) = 0x1aec8;
            function_1(var_7,*(type_2 **)((int)var_9 + 0xc),
                             *(type_3 *)((int)var_9 + 0x50));
            goto LAB_0001ab43;
          }
        }
        *(type_11 *)((int)var_9 + -0xc) = 0xfc;
        *(type_11 *)((int)var_9 + -0x10) = 1;
        *(type_11 *)((int)var_9 + -0x14) = 0x1abaa;
        var_22 = (type_12 *)
                  var_29(*(size_t *)((int)var_9 + -0x10),*(size_t *)((int)var_9 + -0xc));
        if (var_22 == (type_12 *)0x0) {
          *(type_11 *)((int)var_9 + -4) = 0x1aed5;
          var_19 = (type_1 *)var_25();
          var_21 = (type_12 *)var_19->default_handler;
          *(type_12 **)((int)var_9 + -0x10) = var_21;
          *(type_11 *)((int)var_9 + -0x14) = 0x1aee2;
          pcVar24 = var_31(*(int *)((int)var_9 + -0x10));
          *(char **)((int)var_9 + -8) = pcVar24;
          *(int *)((int)var_9 + -0xc) = var_2 + 0x10683;
          *(type_1 **)((int)var_9 + -0x10) = var_7;
          *(type_11 *)((int)var_9 + -0x14) = 0x1aef3;
          var_32(*(type_1 **)((int)var_9 + -0x10),*(char **)((int)var_9 + -0xc));
          *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)((int)var_9 + 8);
          *(type_11 *)((int)var_9 + -0x14) = 0x1aefd;
          var_12 = var_24(*(int *)((int)var_9 + -0x10));
          if ((var_12 != 0) && (var_19->default_handler == (type_8)0x9))
          goto LAB_0001b57c;
          *(type_11 *)((int)var_9 + -4) = 0x1af1c;
          function_1(var_7,*(type_2 **)((int)var_9 + 0xc),
                           *(type_3 *)((int)var_9 + 0x50));
          var_19->default_handler = (type_8)var_21;
          goto LAB_0001ab43;
        }
        *(size_t *)((int)var_9 + -0x10) = var_7->pool_size;
        *(type_11 *)((int)var_9 + -0x14) = 0x1abc2;
        var_34 = var_33(*(size_t *)((int)var_9 + -0x10));
        var_22->pool = var_34;
        if (var_34 == (type_13 *)0x0) {
          *(type_11 *)((int)var_9 + -4) = 0x1af2a;
          var_19 = (type_1 *)var_25();
          *(type_8 *)((int)var_9 + -0x10) = var_19->default_handler;
          *(type_11 *)((int)var_9 + -0x14) = 0x1af36;
          pcVar24 = var_31(*(int *)((int)var_9 + -0x10));
          *(char **)((int)var_9 + -8) = pcVar24;
          *(int *)((int)var_9 + -0xc) = var_2 + 0x10683;
          *(type_1 **)((int)var_9 + -0x10) = var_7;
          *(type_11 *)((int)var_9 + -0x14) = 0x1af47;
          var_32(*(type_1 **)((int)var_9 + -0x10),*(char **)((int)var_9 + -0xc));
          *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)((int)var_9 + 8);
          *(type_11 *)((int)var_9 + -0x14) = 0x1af51;
          var_12 = var_24(*(int *)((int)var_9 + -0x10));
          if ((var_12 != 0) && (var_19->default_handler == (type_8)0x9))
          goto LAB_0001b63b;
          *(type_11 *)((int)var_9 + -4) = 0x1af70;
          function_1(var_7,*(type_2 **)((int)var_9 + 0xc),
                           *(type_3 *)((int)var_9 + 0x50));
          *(type_12 **)((int)var_9 + -0x10) = var_22;
          *(type_11 *)((int)var_9 + -0x14) = 0x1af79;
          var_15(*(void **)((int)var_9 + -0x10));
          var_19->default_handler = (type_8)0xc;
          goto LAB_0001ab43;
        }
        var_22->connection_timeout = var_7->connection_timeout;
        *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)((int)var_9 + 0x50);
        *(type_11 *)((int)var_9 + -0x14) = 0x1abe8;
        var_36 = (type_2 *)var_35(*(size_t *)((int)var_9 + -0x10));
        var_22->addr = var_36;
        if (var_36 == (type_2 *)0x0) {
          *(type_11 *)((int)var_9 + -4) = 0x1ae23;
          var_19 = (type_1 *)var_25();
          p_Var6 = var_19->default_handler;
          *(type_8 *)((int)var_9 + 0x10) = p_Var6;
          *(type_8 *)((int)var_9 + -0x10) = p_Var6;
          *(type_11 *)((int)var_9 + -0x14) = 0x1ae34;
          pcVar24 = var_31(*(int *)((int)var_9 + -0x10));
          *(char **)((int)var_9 + -8) = pcVar24;
          *(int *)((int)var_9 + -0xc) = var_2 + 0x10683;
          *(type_1 **)((int)var_9 + -0x10) = var_7;
          *(type_11 *)((int)var_9 + -0x14) = 0x1ae45;
          var_32(*(type_1 **)((int)var_9 + -0x10),*(char **)((int)var_9 + -0xc));
          *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)((int)var_9 + 8);
          *(type_11 *)((int)var_9 + -0x14) = 0x1ae4f;
          var_12 = var_24(*(int *)((int)var_9 + -0x10));
          if ((var_12 != 0) && (var_19->default_handler == (type_8)0x9))
          goto LAB_0001b61c;
          *(type_11 *)((int)var_9 + -4) = 0x1ae6e;
          function_1(var_7,*(type_2 **)((int)var_9 + 0xc),
                           *(type_3 *)((int)var_9 + 0x50));
          *(type_13 **)((int)var_9 + -0x10) = var_22->pool;
          *(type_11 *)((int)var_9 + -0x14) = 0x1ae79;
          var_37(*(type_13 **)((int)var_9 + -0x10));
          *(type_12 **)((int)var_9 + -0x10) = var_22;
          *(type_11 *)((int)var_9 + -0x14) = 0x1ae81;
          var_15(*(void **)((int)var_9 + -0x10));
          var_19->default_handler = *(type_8 *)((int)var_9 + 0x10);
          goto LAB_0001ab43;
        }
        *(type_11 *)((int)var_9 + -8) = *(type_11 *)((int)var_9 + 0x50);
        *(type_11 *)((int)var_9 + -0xc) = *(type_11 *)((int)var_9 + 0xc);
        var_10 = (type_18 *)((int)var_9 + -0x10);
        *(type_2 **)((int)var_9 + -0x10) = var_36;
        *(type_11 *)((int)var_9 + -0x14) = 0x1ac07;
        var_38(*(void **)((int)var_9 + -0x10),*(void **)((int)var_9 + -0xc),
               *(size_t *)((int)var_9 + -8));
        sVar3 = *(type_3 *)((int)var_9 + 0x50);
        var_22->daemon = var_7;
        var_22->addr_len = sVar3;
        var_22->socket_fd = *(type_26 *)((int)var_9 + 8);
        var_22->sk_nonblck = *(type_23 *)((int)var_9 + 0x10);
        *(type_11 *)((int)var_9 + -0x14) = 0x1ac2e;
        tVar18 = var_39();
        var_22->last_activity = tVar18;
        if ((var_7->options & var_40) == var_28) {
          *(type_12 **)((int)var_9 + -0x10) = var_22;
          *(type_11 *)((int)var_9 + -0x14) = 0x1ac4d;
          var_41(*(type_12 **)((int)var_9 + -0x10));
LAB_0001ac50:
          *(type_4 **)((int)var_9 + 0x10) = &var_7->cleanup_connection_mutex;
          *(type_4 **)((int)var_9 + -0x10) = &var_7->cleanup_connection_mutex;
          *(type_11 *)((int)var_9 + -0x14) = 0x1ac63;
          var_12 = var_6(*(type_22 **)((int)var_9 + -0x10));
          puVar33 = var_9;
          if (var_12 != 0) goto LAB_0001b5bf;
          if (var_7->connections < var_7->connection_limit) {
            var_7->connections = var_7->connections + 1;
            if ((var_7->options & var_42) == var_28) {
              var_21 = var_7->normal_timeout_head;
              var_43 = var_7->normal_timeout_tail;
              var_22->prevX = (type_12 *)0x0;
              var_22->nextX = var_21;
              if (var_43 == (type_12 *)0x0) {
                var_7->normal_timeout_tail = var_22;
              }
              else {
                var_21->prevX = var_22;
              }
              var_7->normal_timeout_head = var_22;
            }
            var_21 = var_7->connections_head;
            var_19 = (type_1 *)var_7->connections_tail;
            var_22->prev = (type_12 *)0x0;
            var_22->next = var_21;
            if (var_19 == (type_1 *)0x0) {
              var_7->connections_tail = var_22;
            }
            else {
              var_21->prev = var_22;
            }
            var_7->connections_head = var_22;
            *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)((int)var_9 + 0x10);
            *(type_11 *)((int)var_9 + -0x14) = 0x1acda;
            var_12 = var_11(*(type_22 **)((int)var_9 + -0x10));
            if (var_12 != 0) goto LAB_0001b5fd;
            var_44 = var_7->notify_connection;
            if (var_44 != (type_6)0x0) {
              *(type_11 *)((int)var_9 + -4) = 0;
              *(void ***)((int)var_9 + -8) = &var_22->socket_context;
              *(type_12 **)((int)var_9 + -0xc) = var_22;
              *(void **)((int)var_9 + -0x10) = var_7->notify_connection_cls;
              *(type_11 *)((int)var_9 + -0x14) = 0x1acf8;
              (*var_44)(*(void **)((int)var_9 + -0x10),*(type_12 **)((int)var_9 + -0xc),
                        *(void ***)((int)var_9 + -8),
                        *(type_27 *)((int)var_9 + -4));
            }
            var_45 = var_7->options;
            if ((var_45 & var_42) == var_28) {
              MVar5 = (var_7->pid).ID;
              (var_22->pid).handle = (var_7->pid).handle;
              (var_22->pid).ID = MVar5;
            }
            else {
              *(type_12 **)((int)var_9 + -0x10) = var_22;
              *(int *)((int)var_9 + -0x14) = var_2 + 0x1e35;
              *(size_t *)((int)var_9 + -0x18) = var_7->thread_stack_size;
              *(int *)((int)var_9 + -0x1c) = var_2 + 0x106b8;
              *(type_28 **)((int)var_9 + -0x20) = &var_22->pid;
              *(type_11 *)((int)var_9 + -0x24) = 0x1b2fe;
              var_12 = var_46
                                 (*(type_28 **)((int)var_9 + -0x20),
                                  *(char **)((int)var_9 + -0x1c),*(size_t *)((int)var_9 + -0x18)
                                  ,*(type_29 *)((int)var_9 + -0x14),
                                  *(void **)((int)var_9 + -0x10));
              if (var_12 == 0) {
                *(type_11 *)((int)var_9 + -4) = 0x1b4b0;
                piVar13 = var_25();
                var_19 = (type_1 *)*piVar13;
                *(type_1 **)((int)var_9 + -0x10) = var_19;
                *(type_11 *)((int)var_9 + -0x14) = 0x1b4bb;
                pcVar24 = var_31(*(int *)((int)var_9 + -0x10));
                *(char **)((int)var_9 + -8) = pcVar24;
                *(char **)((int)var_9 + -0xc) = "gnutls_malloc" + var_2 + 0xb;
                *(type_1 **)((int)var_9 + -0x10) = var_7;
                *(type_11 *)((int)var_9 + -0x14) = 0x1b4cc;
                var_32(*(type_1 **)((int)var_9 + -0x10),*(char **)((int)var_9 + -0xc));
                goto LAB_0001b19b;
              }
              var_45 = var_7->options;
            }
            if ((var_45 & var_26) == var_28) {
              if ((((var_45 & var_42) == var_28) &&
                  (*(char *)((int)var_9 + 0x14) != '\0')) &&
                 (var_12 = (var_7->itc).fd, var_12 != -1)) {
                *(type_11 *)((int)var_9 + -8) = 8;
                *(int *)((int)var_9 + -0xc) = var_2 + 0x11e05;
                *(int *)((int)var_9 + -0x10) = var_12;
                *(type_11 *)((int)var_9 + -0x14) = 0x1b423;
                var_48 = var_47(*(int *)((int)var_9 + -0x10),*(void **)((int)var_9 + -0xc),
                               *(size_t *)((int)var_9 + -8));
                if (var_48 < 1) {
                  *(type_11 *)((int)var_9 + -4) = 0x1b433;
                  piVar13 = var_25();
                  if (*piVar13 != 0xb) {
                    *(type_11 *)((int)var_9 + -4) = extraout_EDX_01;
                    *(type_11 *)((int)var_9 + -8) = extraout_EDX_01;
                    *(char **)((int)var_9 + -0xc) = "gnutls_dh_params_init" + var_2 + 0xb;
                    *(type_1 **)((int)var_9 + -0x10) = var_7;
                    *(type_11 *)((int)var_9 + -0x14) = 0x1b44b;
                    var_32(*(type_1 **)((int)var_9 + -0x10),*(char **)((int)var_9 + -0xc))
                    ;
                  }
                }
              }
              goto LAB_0001ab43;
            }
            if (((var_45 & var_49) != var_28) &&
               (*(char *)((int)var_9 + 0x14) == '\0')) {
              var_21 = var_7->eready_head;
              var_43 = var_7->eready_tail;
              (((type_24 *)&var_22->prevE)->ipv4).s_addr = 0;
              var_22->epoll_state =
                   var_22->epoll_state |
                   (var_50|var_51|
                   var_52);
              var_22->nextE = var_21;
              if (var_43 == (type_12 *)0x0) {
                var_7->eready_tail = var_22;
              }
              else {
                var_21->prevE = var_22;
              }
              var_7->eready_head = var_22;
              goto LAB_0001ab43;
            }
            *(type_11 *)((int)var_9 + 0x20) = 0x80000007;
            *(type_12 **)((int)var_9 + 0x24) = var_22;
            *(type_18 **)((int)var_9 + -4) = (type_18 *)((int)var_9 + 0x20);
            *(type_11 *)((int)var_9 + -8) = *(type_11 *)((int)var_9 + 8);
            *(type_11 *)((int)var_9 + -0xc) = 1;
            *(int *)((int)var_9 + -0x10) = var_7->epoll_fd;
            *(type_11 *)((int)var_9 + -0x14) = 0x1b336;
            var_12 = var_53(*(int *)((int)var_9 + -0x10),*(int *)((int)var_9 + -0xc),
                               *(int *)((int)var_9 + -8),*(type_30 **)((int)var_9 + -4));
            if (var_12 == 0) {
              var_22->epoll_state = var_22->epoll_state | var_54;
              goto LAB_0001ab43;
            }
            *(type_11 *)((int)var_9 + -4) = 0x1b487;
            piVar13 = var_25();
            var_19 = (type_1 *)*piVar13;
            *(type_1 **)((int)var_9 + -0x10) = var_19;
            *(type_11 *)((int)var_9 + -0x14) = 0x1b492;
            pcVar24 = var_31(*(int *)((int)var_9 + -0x10));
            *(char **)((int)var_9 + -8) = pcVar24;
            *(int *)((int)var_9 + -0xc) = var_2 + 0xf750;
            *(type_1 **)((int)var_9 + -0x10) = var_7;
            *(type_11 *)((int)var_9 + -0x14) = 0x1b4a3;
            var_32(*(type_1 **)((int)var_9 + -0x10),*(char **)((int)var_9 + -0xc));
LAB_0001b19b:
            var_44 = var_7->notify_connection;
            if (var_44 != (type_6)0x0) {
              *(type_11 *)((int)var_9 + -4) = 1;
              *(void ***)((int)var_9 + -8) = &var_22->socket_context;
              *(type_12 **)((int)var_9 + -0xc) = var_22;
              *(void **)((int)var_9 + -0x10) = var_7->notify_connection_cls;
              *(type_11 *)((int)var_9 + -0x14) = 0x1b1ae;
              (*var_44)(*(void **)((int)var_9 + -0x10),*(type_12 **)((int)var_9 + -0xc),
                        *(void ***)((int)var_9 + -8),
                        *(type_27 *)((int)var_9 + -4));
            }
            if (var_22->tls_session != (type_31)0x0) {
              *(type_31 *)((int)var_9 + -0x10) = var_22->tls_session;
              *(type_11 *)((int)var_9 + -0x14) = 0x1b1c4;
              var_55();
            }
            *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)((int)var_9 + 8);
            *(type_11 *)((int)var_9 + -0x14) = 0x1b1d3;
            var_12 = var_24(*(int *)((int)var_9 + -0x10));
            if (var_12 != 0) {
              *(type_11 *)((int)var_9 + -4) = 0x1b1df;
              piVar13 = var_25();
              var_10 = (type_18 *)var_9;
              if (*piVar13 == 9) goto LAB_0001b500;
            }
            *(type_11 *)((int)var_9 + -4) = 0x1b1f7;
            function_1(var_7,*(type_2 **)((int)var_9 + 0xc),
                             *(type_3 *)((int)var_9 + 0x50));
            *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)((int)var_9 + 0x10);
            *(type_11 *)((int)var_9 + -0x14) = 0x1b203;
            var_12 = var_6(*(type_22 **)((int)var_9 + -0x10));
            if (var_12 != 0) goto LAB_0001b5de;
            if ((var_7->options & var_42) == var_28) {
              var_21 = var_22->nextX;
              if (var_22->prevX == (type_12 *)0x0) {
                var_7->normal_timeout_head = var_21;
                var_43 = (type_12 *)0x0;
              }
              else {
                var_22->prevX->nextX = var_21;
                var_21 = var_22->nextX;
                var_43 = var_22->prevX;
              }
              var_10 = (type_18 *)var_9;
              if (var_21 == (type_12 *)0x0) goto LAB_0001b472;
              var_21->prevX = var_43;
LAB_0001b239:
              var_22->nextX = (type_12 *)0x0;
              var_22->prevX = (type_12 *)0x0;
            }
            var_21 = var_22->next;
            if (var_22->prev == (type_12 *)0x0) {
              var_7->connections_head = var_21;
              var_43 = (type_12 *)0x0;
            }
            else {
              var_22->prev->next = var_21;
              var_21 = var_22->next;
              var_43 = var_22->prev;
            }
            if (var_21 == (type_12 *)0x0) {
              var_7->connections_tail = var_43;
            }
            else {
              var_21->prev = var_43;
            }
            var_22->next = (type_12 *)0x0;
            var_22->prev = (type_12 *)0x0;
            *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)((int)var_9 + 0x10);
            *(type_11 *)((int)var_9 + -0x14) = 0x1b283;
            var_12 = var_11(*(type_22 **)((int)var_9 + -0x10));
            if (var_12 == 0) {
              *(type_13 **)((int)var_9 + -0x10) = var_22->pool;
              *(type_11 *)((int)var_9 + -0x14) = 0x1b299;
              var_37(*(type_13 **)((int)var_9 + -0x10));
              *(type_2 **)((int)var_9 + -0x10) = var_22->addr;
              *(type_11 *)((int)var_9 + -0x14) = 0x1b2a2;
              var_15(*(void **)((int)var_9 + -0x10));
              *(type_12 **)((int)var_9 + -0x10) = var_22;
              *(type_11 *)((int)var_9 + -0x14) = 0x1b2aa;
              var_15(*(void **)((int)var_9 + -0x10));
              *(type_11 *)((int)var_9 + -0x14) = 0x1b2af;
              piVar13 = var_25();
              if (var_19 == (type_1 *)0x0) {
                *piVar13 = 0x16;
              }
              else {
                *piVar13 = (int)var_19;
              }
              goto LAB_0001ab43;
            }
          }
          else {
            *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)((int)var_9 + 0x10);
            *(type_11 *)((int)var_9 + -0x14) = 0x1b178;
            var_12 = var_11(*(type_22 **)((int)var_9 + -0x10));
            if (var_12 == 0) {
              var_19 = (type_1 *)0x17;
              *(char **)((int)var_9 + -0xc) = "__fdelt_chk" + var_2 + 7;
              *(type_1 **)((int)var_9 + -0x10) = var_7;
              *(type_11 *)((int)var_9 + -0x14) = 0x1b198;
              var_32(*(type_1 **)((int)var_9 + -0x10),*(char **)((int)var_9 + -0xc));
              goto LAB_0001b19b;
            }
            *(int *)((int)var_9 + -4) = var_2 + 0xf639;
            *(type_11 *)((int)var_9 + -8) = 0x9ea;
            *(int *)((int)var_9 + -0xc) = var_2 + 0x10659;
            var_10 = (type_18 *)((int)var_9 + -0x10);
            *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
            pcVar28 = *(type_17 **)(var_2 + 0x1a681);
            *(type_11 *)((int)var_9 + -0x14) = 0x1b500;
            (*pcVar28)();
LAB_0001b500:
            *(int *)(var_10 + -4) = var_2 + 0x1066d;
            *(type_11 *)(var_10 + -8) = 0xa56;
            *(int *)(var_10 + -0xc) = var_2 + 0x10659;
            var_9 = (type_11 *)(var_10 + -0x10);
            *(type_11 *)(var_10 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
            pcVar28 = *(type_17 **)(var_2 + 0x1a681);
            *(type_11 *)(var_10 + -0x14) = 0x1b51f;
            (*pcVar28)();
          }
          *(int *)((int)var_9 + -4) = var_2 + 0xf639;
          *(type_11 *)((int)var_9 + -8) = 0xa67;
          *(int *)((int)var_9 + -0xc) = var_2 + 0x10659;
          puVar33 = (type_11 *)((int)var_9 + -0x10);
          *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
          pcVar28 = *(type_17 **)(var_2 + 0x1a681);
          *(type_11 *)((int)var_9 + -0x14) = 0x1b53e;
          (*pcVar28)();
          goto LAB_0001b53e;
        }
        var_22->tls_state = MHD_TLS_CONN_INIT;
        *(type_12 **)((int)var_9 + -0x10) = var_22;
        *(type_11 *)((int)var_9 + -0x14) = 0x1af9c;
        var_56(*(type_12 **)((int)var_9 + -0x10));
        *(type_11 *)((int)var_9 + -0xc) = 0x49;
        *(type_31 **)((int)var_9 + -0x10) = &var_22->tls_session;
        *(type_11 *)((int)var_9 + -0x14) = 0x1afac;
        var_57();
        *(type_32 *)((int)var_9 + -0xc) = var_7->priority_cache;
        *(type_31 *)((int)var_9 + -0x10) = var_22->tls_session;
        *(type_11 *)((int)var_9 + -0x14) = 0x1afbf;
        var_58();
        var_19 = *(type_1 **)((int)var_9 + -0xc);
        *(type_12 **)((int)var_9 + -0xc) = var_22;
        *(type_31 *)((int)var_9 + -0x10) = var_22->tls_session;
        *(type_11 *)((int)var_9 + -0x14) = 0x1afcd;
        var_59();
        var_60 = var_7->cred_type;
        if (var_60 == var_61) {
          *(type_33 *)((int)var_9 + -8) = var_7->x509_cred;
          *(type_11 *)((int)var_9 + -0xc) = 1;
          *(type_31 *)((int)var_9 + -0x10) = var_22->tls_session;
          *(type_11 *)((int)var_9 + -0x14) = 0x1b3dd;
          var_62();
LAB_0001b38a:
          *(type_11 *)((int)var_9 + -8) = *(type_11 *)((int)var_9 + 8);
          *(type_11 *)((int)var_9 + -0xc) = *(type_11 *)((int)var_9 + 8);
          *(type_31 *)((int)var_9 + -0x10) = var_22->tls_session;
          *(type_11 *)((int)var_9 + -0x14) = 0x1b39e;
          var_63();
          if (var_7->https_mem_trust != (char *)0x0) {
            *(type_11 *)((int)var_9 + -0xc) = 1;
            *(type_31 *)((int)var_9 + -0x10) = var_22->tls_session;
            *(type_11 *)((int)var_9 + -0x14) = 0x1b3bf;
            var_64();
          }
          goto LAB_0001ac50;
        }
        if (var_60 == var_65) {
          *(type_34 *)((int)var_9 + -8) = var_7->psk_cred;
          *(type_11 *)((int)var_9 + -0xc) = 4;
          *(type_31 *)((int)var_9 + -0x10) = var_22->tls_session;
          *(type_11 *)((int)var_9 + -0x14) = 0x1b373;
          var_62();
          *(int *)((int)var_9 + -0xc) = var_2 + -0xcbb;
          *(type_34 *)((int)var_9 + -0x10) = var_7->psk_cred;
          *(type_11 *)((int)var_9 + -0x14) = 0x1b387;
          var_66();
          goto LAB_0001b38a;
        }
        *(type_9 *)((int)var_9 + -8) = var_60;
        *(char **)((int)var_9 + -0xc) = "gnutls_record_check_pending" + var_2 + 5;
        *(type_1 **)((int)var_9 + -0x10) = var_22->daemon;
        *(type_11 *)((int)var_9 + -0x14) = 0x1affb;
        var_32(*(type_1 **)((int)var_9 + -0x10),*(char **)((int)var_9 + -0xc));
        var_19 = *(type_1 **)((int)var_9 + -0x10);
        *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)((int)var_9 + 8);
        *(type_11 *)((int)var_9 + -0x14) = 0x1b005;
        var_12 = var_24(*(int *)((int)var_9 + -0x10));
        if (var_12 != 0) {
          *(type_11 *)((int)var_9 + -4) = 0x1b011;
          piVar13 = var_25();
          if (*piVar13 != 9) goto LAB_0001b01a;
          *(int *)((int)var_9 + -4) = var_2 + 0x1066d;
          *(type_11 *)((int)var_9 + -8) = 0x9c3;
          *(int *)((int)var_9 + -0xc) = var_2 + 0x10659;
          *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
          pcVar28 = *(type_17 **)(var_2 + 0x1a681);
          *(type_11 *)((int)var_9 + -0x14) = 0x1b472;
          (*pcVar28)();
          var_43 = extraout_EDX_02;
LAB_0001b472:
          var_7->normal_timeout_tail = var_43;
          var_9 = (type_11 *)var_10;
          goto LAB_0001b239;
        }
LAB_0001b01a:
        *(type_11 *)((int)var_9 + -4) = 0x1b029;
        function_1(var_7,*(type_2 **)((int)var_9 + 0xc),
                         *(type_3 *)((int)var_9 + 0x50));
        *(type_2 **)((int)var_9 + -0x10) = var_22->addr;
        *(type_11 *)((int)var_9 + -0x14) = 0x1b034;
        var_15(*(void **)((int)var_9 + -0x10));
        *(type_12 **)((int)var_9 + -0x10) = var_22;
        *(type_11 *)((int)var_9 + -0x14) = 0x1b03c;
        var_15(*(void **)((int)var_9 + -0x10));
        *(int *)((int)var_9 + -0x14) = var_2 + 0x106a0;
        *(type_11 *)((int)var_9 + -0x18) = 0x9c9;
        *(int *)((int)var_9 + -0x1c) = var_2 + 0x10659;
        *(type_11 *)((int)var_9 + -0x20) = *(type_11 *)(var_2 + 0x1a67d);
        pcVar28 = *(type_17 **)(var_2 + 0x1a681);
        *(type_11 *)((int)var_9 + -0x24) = 0x1b05b;
        var_21 = (type_12 *)(*pcVar28)();
        var_9 = (type_11 *)((int)var_9 + -0x20);
LAB_0001b05b:
        var_21->nextE = (type_12 *)0x2;
        (((type_24 *)&var_22->prevE)->ipv4).s_addr =
             *(type_25 *)(*(int *)((int)var_9 + 0xc) + 4);
        var_21 = var_22;
LAB_0001b06b:
        var_9[6] = &var_19->per_ip_connection_mutex;
        var_9[-4] = &var_19->per_ip_connection_mutex;
        var_9[-5] = 0x1b07e;
        var_12 = var_6((type_22 *)var_9[-4]);
        var_22 = var_21;
        if (var_12 != 0) goto LAB_0001b5ba;
        var_9[-2] = var_2 + -0xceb;
        var_9[-3] = &var_19->per_ip_connection_count;
        var_9[-4] = var_21;
        var_9[-5] = 0x1b09d;
        var_68 = (type_11 *)
                  var_67((void *)var_9[-4],(void **)var_9[-3],(type_16)var_9[-2]);
        puVar33 = var_9;
        if (var_68 == (type_11 *)0x0) {
          var_9[-3] = "gnutls_record_get_direction" + var_2 + 10;
          var_9[-4] = var_19;
          var_9[-5] = 0x1b120;
          var_32((type_1 *)var_9[-4],(char *)var_9[-3]);
          var_9[-4] = var_9[6];
          var_9[-5] = 0x1b12a;
          var_12 = var_11((type_22 *)var_9[-4]);
          if (var_12 == 0) {
            var_9[-4] = var_21;
            var_9[-5] = 0x1b13a;
            var_15((void *)var_9[-4]);
            goto LAB_0001ab0a;
          }
          break;
        }
        var_43 = (type_12 *)*var_68;
        if (var_21 != var_43) {
          var_9[7] = var_43;
          var_9[-4] = var_21;
          var_9[-5] = 0x1b0b7;
          var_15((void *)var_9[-4]);
          var_43 = (type_12 *)var_9[7];
        }
        if ((type_12 *)var_19->per_ip_connection_limit <= var_43->prevX) goto LAB_0001b0f0;
        var_43->prevX = (type_12 *)((int)&var_43->prevX->nextE + 1);
        var_9[-4] = var_9[6];
        var_9[-5] = 0x1b0db;
        var_12 = var_11((type_22 *)var_9[-4]);
      } while (var_12 == 0);
      do {
        var_9[-1] = 0x1b0eb;
        var_13((type_1 *)*var_9);
LAB_0001b0f0:
        var_9[-4] = var_9[6];
        var_9[-5] = 0x1b0fc;
        var_12 = var_11((type_22 *)var_9[-4]);
      } while (var_12 != 0);
    }
LAB_0001ab0a:
    *(char **)((int)puVar33 + -0xc) = "__fdelt_chk" + var_2 + 7;
    *(type_1 **)((int)puVar33 + -0x10) = var_7;
    *(type_11 *)((int)puVar33 + -0x14) = 0x1ab1a;
    var_32(*(type_1 **)((int)puVar33 + -0x10),*(char **)((int)puVar33 + -0xc));
    *(type_11 *)((int)puVar33 + -0x10) = *(type_11 *)((int)puVar33 + 8);
    *(type_11 *)((int)puVar33 + -0x14) = 0x1ab24;
    var_7 = (type_1 *)var_24(*(int *)((int)puVar33 + -0x10));
    *(type_11 *)((int)puVar33 + -0x14) = 0x1ab2b;
    piVar13 = var_25();
    if ((var_7 == (type_1 *)0x0) || (*piVar13 != 9)) goto LAB_0001ab3b;
LAB_0001b53e:
    *(int *)((int)puVar33 + -4) = var_2 + 0x1066d;
    *(type_11 *)((int)puVar33 + -8) = 0x93d;
    *(int *)((int)puVar33 + -0xc) = var_2 + 0x10659;
    var_9 = (type_11 *)((int)puVar33 + -0x10);
    *(type_11 *)((int)puVar33 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
    pcVar28 = *(type_17 **)(var_2 + 0x1a681);
    *(type_11 *)((int)puVar33 + -0x14) = 0x1b55d;
    (*pcVar28)();
    var_21 = var_22;
LAB_0001b55d:
    *(int *)((int)var_9 + -4) = var_2 + 0x1066d;
    *(type_11 *)((int)var_9 + -8) = 0x950;
    *(int *)((int)var_9 + -0xc) = var_2 + 0x10659;
    *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
    pcVar28 = *(type_17 **)(var_2 + 0x1a681);
    *(type_11 *)((int)var_9 + -0x14) = 0x1b57c;
    (*pcVar28)();
    var_9 = (type_11 *)((int)var_9 + -0x10);
LAB_0001b57c:
    *(int *)((int)var_9 + -4) = var_2 + 0x1066d;
    *(type_11 *)((int)var_9 + -8) = 0x962;
    *(int *)((int)var_9 + -0xc) = var_2 + 0x10659;
    *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
    pcVar28 = *(type_17 **)(var_2 + 0x1a681);
    *(type_11 *)((int)var_9 + -0x14) = 0x1b59b;
    (*pcVar28)();
    var_10 = (type_18 *)((int)var_9 + -0x10);
  }
  else {
    *(type_11 *)((int)var_9 + -4) = 0x400;
    var_19 = *(type_1 **)((int)var_9 + 8);
    *(type_1 **)((int)var_9 + -8) = var_19;
    *(char **)((int)var_9 + -0xc) = "pthread_self" + var_2 + 10;
    *(type_1 **)((int)var_9 + -0x10) = var_7;
    *(type_11 *)((int)var_9 + -0x14) = 0x1adc7;
    var_32(*(type_1 **)((int)var_9 + -0x10),*(char **)((int)var_9 + -0xc));
    *(type_1 **)((int)var_9 + -0x10) = var_19;
    *(type_11 *)((int)var_9 + -0x14) = 0x1adcf;
    var_7 = (type_1 *)var_24(*(int *)((int)var_9 + -0x10));
    *(type_11 *)((int)var_9 + -0x14) = 0x1add6;
    piVar13 = var_25();
    if ((var_7 == (type_1 *)0x0) || (var_10 = (type_18 *)var_9, *piVar13 != 9)) {
      *piVar13 = 0x16;
      goto LAB_0001ab43;
    }
  }
  *(int *)(var_10 + -4) = var_2 + 0x1066d;
  *(type_11 *)(var_10 + -8) = 0x912;
  *(int *)(var_10 + -0xc) = var_2 + 0x10659;
  var_9 = (type_11 *)(var_10 + -0x10);
  *(type_11 *)(var_10 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
  pcVar28 = *(type_17 **)(var_2 + 0x1a681);
  *(type_11 *)(var_10 + -0x14) = 0x1b5ba;
  (*pcVar28)();
  var_22 = var_21;
LAB_0001b5ba:
  var_9[-1] = 0x1b5bf;
  var_17((type_1 *)*var_9);
  puVar33 = var_9;
LAB_0001b5bf:
  *(int *)((int)puVar33 + -4) = var_2 + 0xf615;
  *(type_11 *)((int)puVar33 + -8) = 0x9e4;
  *(int *)((int)puVar33 + -0xc) = var_2 + 0x10659;
  var_9 = (type_11 *)((int)puVar33 + -0x10);
  *(type_11 *)((int)puVar33 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
  pcVar28 = *(type_17 **)(var_2 + 0x1a681);
  *(type_11 *)((int)puVar33 + -0x14) = 0x1b5de;
  (*pcVar28)();
LAB_0001b5de:
  *(int *)((int)var_9 + -4) = var_2 + 0xf615;
  *(type_11 *)((int)var_9 + -8) = 0xa5b;
  *(int *)((int)var_9 + -0xc) = var_2 + 0x10659;
  *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
  pcVar28 = *(type_17 **)(var_2 + 0x1a681);
  *(type_11 *)((int)var_9 + -0x14) = 0x1b5fd;
  (*pcVar28)();
  var_9 = (type_11 *)((int)var_9 + -0x10);
LAB_0001b5fd:
  *(int *)((int)var_9 + -4) = var_2 + 0xf639;
  *(type_11 *)((int)var_9 + -8) = 0xa01;
  *(int *)((int)var_9 + -0xc) = var_2 + 0x10659;
  *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
  pcVar28 = *(type_17 **)(var_2 + 0x1a681);
  *(type_11 *)((int)var_9 + -0x14) = 0x1b61c;
  (*pcVar28)();
  var_9 = (type_11 *)((int)var_9 + -0x10);
LAB_0001b61c:
  *(int *)((int)var_9 + -4) = var_2 + 0x1066d;
  *(type_11 *)((int)var_9 + -8) = 0x985;
  *(int *)((int)var_9 + -0xc) = var_2 + 0x10659;
  *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
  pcVar28 = *(type_17 **)(var_2 + 0x1a681);
  *(type_11 *)((int)var_9 + -0x14) = 0x1b63b;
  (*pcVar28)();
  var_9 = (type_11 *)((int)var_9 + -0x10);
LAB_0001b63b:
  *(int *)((int)var_9 + -4) = var_2 + 0x1066d;
  *(type_11 *)((int)var_9 + -8) = 0x971;
  *(int *)((int)var_9 + -0xc) = var_2 + 0x10659;
  *(type_11 *)((int)var_9 + -0x10) = *(type_11 *)(var_2 + 0x1a67d);
  pcVar28 = *(type_17 **)(var_2 + 0x1a681);
  *(type_11 *)((int)var_9 + -0x14) = 0x1b65a;
  pMVar23 = (type_1 *)(*pcVar28)();
  *(type_12 **)((int)var_9 + -0x14) = var_22;
  *(type_1 **)((int)var_9 + -0x18) = var_19;
  *(type_1 **)((int)var_9 + -0x1c) = var_7;
  *(int *)((int)var_9 + -0x20) = var_2 + 0x1a3f5;
  *(type_11 *)((int)var_9 + -0x24) = 0x1b66d;
  var_2 = *(int *)((int)var_9 + -0x24);
  *(type_11 *)((int)var_9 + -0x30) = *(type_11 *)(var_1 + 0x14);
  var_4 = 0;
  *(type_11 *)((int)var_9 + -0x50) = 0x1c;
  var_36 = (type_2 *)((int)var_9 + -0x4c);
  do {
    pcVar24 = var_36->sa_data + (var_4 - 2);
    pcVar24[0] = '\0';
    pcVar24[1] = '\0';
    pcVar24[2] = '\0';
    pcVar24[3] = '\0';
    var_4 = var_4 + 4;
  } while (var_4 < 0x1c);
  var_12 = pMVar23->listen_fd;
  var_10 = (type_18 *)((int)var_9 + -0x6c);
  if ((var_12 == -1) ||
     (var_10 = (type_18 *)((int)var_9 + -0x6c), pMVar23->was_quiesced != false)) {
LAB_0001b7c2:
    if (*(int *)(var_10 + 0x3c) != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
      *(type_11 *)(var_10 + -4) = 0x1b867;
      var_3();
    }
    return;
  }
  *(type_11 *)((int)var_9 + -0x70) = 0x80800;
  *(type_18 **)((int)var_9 + -0x74) = (type_18 *)((int)var_9 + -0x50);
  *(type_2 **)((int)var_9 + -0x78) = var_36;
  *(int *)((int)var_9 + -0x7c) = var_12;
  *(type_11 *)((int)var_9 + -0x80) = 0x1b6c8;
  var_12 = var_69(*(int *)((int)var_9 + -0x7c),*(type_2 **)((int)var_9 + -0x78),
                   *(type_3 **)((int)var_9 + -0x74),*(int *)((int)var_9 + -0x70));
  var_72 = (type_18 *)((int)var_9 + -0x6c);
  if ((var_12 != -1) && (*(int *)((int)var_9 + -0x50) != 0)) {
    *(type_11 *)((int)var_9 + -0x74) = 1;
    *(type_11 *)((int)var_9 + -0x78) = 0;
    *(int *)((int)var_9 + -0x7c) = *(int *)((int)var_9 + -0x50);
    *(type_11 *)((int)var_9 + -0x80) = 0x1b7f3;
    var_23
              (pMVar23,var_12,var_36,*(type_3 *)((int)var_9 + -0x7c),
               *(type_23 *)((int)var_9 + -0x78),*(type_23 *)((int)var_9 + -0x74));
    var_10 = (type_18 *)((int)var_9 + -0x6c);
    goto LAB_0001b7c2;
  }
  *(type_11 *)((int)var_9 + -0x70) = 0x1b6e3;
  piVar13 = var_25();
  var_70 = *piVar13;
  var_10 = (type_18 *)((int)var_9 + -0x6c);
  if ((var_70 == 0x67) || (var_10 = (type_18 *)((int)var_9 + -0x6c), var_70 == 0x16))
  goto LAB_0001b7c2;
  *(int **)((int)var_9 + -0x60) = piVar13;
  if (var_70 == 0xb) {
    var_10 = (type_18 *)((int)var_9 + -0x6c);
    if (var_12 != -1) {
      *(int *)((int)var_9 + -0x7c) = var_12;
      *(type_11 *)((int)var_9 + -0x80) = 0x1b80e;
      var_71 = var_24(*(int *)((int)var_9 + -0x7c));
      piVar13 = *(int **)((int)var_9 + -0x60);
      var_10 = (type_18 *)((int)var_9 + -0x6c);
      var_73 = (type_18 *)((int)var_9 + -0x6c);
      if (var_71 != 0) goto LAB_0001b819;
    }
    goto LAB_0001b7c2;
  }
  *(int *)((int)var_9 + -0x7c) = var_70;
  *(type_11 *)((int)var_9 + -0x80) = 0x1b70d;
  pcVar24 = var_31(*(int *)((int)var_9 + -0x7c));
  *(char **)((int)var_9 + -0x74) = pcVar24;
  *(int *)((int)var_9 + -0x78) = var_2 + 0x10437;
  *(type_1 **)((int)var_9 + -0x7c) = pMVar23;
  *(type_11 *)((int)var_9 + -0x80) = 0x1b71e;
  var_32(*(type_1 **)((int)var_9 + -0x7c),*(char **)((int)var_9 + -0x78));
  var_73 = (type_18 *)((int)var_9 + -0x6c);
  if (var_12 != -1) {
    while( true ) {
      *(int *)(var_72 + -0x10) = var_12;
      *(type_11 *)(var_72 + -0x14) = 0x1b851;
      var_71 = var_24(*(int *)(var_72 + -0x10));
      piVar13 = *(int **)(var_72 + 0xc);
      var_73 = var_72;
      if (var_71 == 0) break;
LAB_0001b819:
      if (*piVar13 != 9) break;
      *(int *)(var_73 + -4) = var_2 + 0xf9eb;
      *(type_11 *)(var_73 + -8) = 0xc1a;
      *(int *)(var_73 + -0xc) = var_2 + 0xf9d7;
      var_72 = var_73 + -0x10;
      *(type_11 *)(var_73 + -0x10) = *(type_11 *)(var_2 + 0x199fb);
      pcVar28 = *(type_17 **)(var_2 + 0x199ff);
      *(type_11 *)(var_73 + -0x14) = 0x1b841;
      (*pcVar28)();
    }
  }
  var_10 = var_73;
  if ((var_70 != 0xc && var_70 != 0x69) && (1 < var_70 - 0x17U)) goto LAB_0001b7c2;
  if (pMVar23->connections == 0) {
    *(int *)(var_73 + -0xc) = var_2 + 0x10457;
    *(type_1 **)(var_73 + -0x10) = pMVar23;
    *(type_11 *)(var_73 + -0x14) = 0x1b7b8;
    var_32(*(type_1 **)(var_73 + -0x10),*(char **)(var_73 + -0xc));
    goto LAB_0001b7c2;
  }
  pMVar1 = &pMVar23->cleanup_connection_mutex;
  *(type_4 **)(var_73 + -0x10) = pMVar1;
  *(type_11 *)(var_73 + -0x14) = 0x1b75b;
  var_70 = var_6(*(type_22 **)(var_73 + -0x10));
  if (var_70 == 0) {
    pMVar23->at_limit = true;
    *(type_4 **)(var_73 + -0x10) = pMVar1;
    *(type_11 *)(var_73 + -0x14) = 0x1b776;
    var_70 = var_11(*(type_22 **)(var_73 + -0x10));
    if (var_70 == 0) {
      *(type_11 *)(var_73 + 0xc) = 0;
      *(type_10 *)(var_73 + -8) = pMVar23->connections;
      *(int *)(var_73 + -0xc) = var_2 + 0x10513;
      *(type_1 **)(var_73 + -0x10) = pMVar23;
      *(type_11 *)(var_73 + -0x14) = 0x1b79b;
      var_32(*(type_1 **)(var_73 + -0x10),*(char **)(var_73 + -0xc));
      goto LAB_0001b7c2;
    }
  }
  else {
    *(int *)(var_73 + -4) = var_2 + 0xe993;
    *(type_11 *)(var_73 + -8) = 0xc2c;
    *(int *)(var_73 + -0xc) = var_2 + 0xf9d7;
    var_10 = var_73 + -0x10;
    *(type_11 *)(var_73 + -0x10) = *(type_11 *)(var_2 + 0x199fb);
    pcVar28 = *(type_17 **)(var_2 + 0x199ff);
    *(type_11 *)(var_73 + -0x14) = 0x1b886;
    (*pcVar28)();
  }
  *(int *)(var_10 + -4) = var_2 + 0xe9b7;
  *(type_11 *)(var_10 + -8) = 0xc30;
  *(int *)(var_10 + -0xc) = var_2 + 0xf9d7;
  *(type_11 *)(var_10 + -0x10) = *(type_11 *)(var_2 + 0x199fb);
  pcVar28 = *(type_17 **)(var_2 + 0x199ff);
  *(type_11 *)(var_10 + -0x14) = 0x1b8a5;
  uVar36 = (*pcVar28)();
  var_19 = (type_1 *)uVar36;
  *(int *)(var_10 + -0x14) = var_12;
  *(type_4 **)(var_10 + -0x18) = pMVar1;
  *(type_1 **)(var_10 + -0x1c) = pMVar23;
  *(int *)(var_10 + -0x20) = var_2 + 0x19773;
  *(type_11 *)(var_10 + -0x24) = 0x1b8bb;
  var_12 = *(int *)(var_10 + -0x24);
  var_2 = var_19->listen_fd;
  *(int *)(var_10 + -0x54) = (int)((type_35)uVar36 >> 0x20);
  *(type_11 *)(var_10 + -0x30) = *(type_11 *)(var_1 + 0x14);
  *(type_11 *)(var_10 + -0x40) = 0;
  *(type_11 *)(var_10 + -0x3c) = 0;
  *(type_11 *)(var_10 + -0x38) = 0;
  *(type_11 *)(var_10 + -0x34) = 0;
  if (var_2 == -1) {
    var_71 = 1;
    *(type_11 *)(var_10 + -0x58) = 0;
    var_2 = 0;
    var_70 = -1;
  }
  else if (var_19->was_quiesced == false) {
    *(int *)(var_10 + -0x40) = var_2;
    var_70 = 0;
    var_71 = 2;
    *(type_36 *)(var_10 + -0x3c) = 1;
    var_2 = 1;
    *(type_11 *)(var_10 + -0x58) = 1;
  }
  else {
    *(type_11 *)(var_10 + -0x58) = 0;
    var_71 = 1;
    var_70 = -1;
    var_2 = 0;
  }
  var_74 = (var_19->itc).fd;
  var_45 = var_19->options & 0x2000;
  if (var_74 == -1) {
    var_71 = -1;
    if (var_45 != var_28) {
      *(type_11 *)(var_10 + -0x58) = 0xffffffff;
      goto LAB_0001ba92;
    }
LAB_0001ba1c:
    if (var_2 == 0) goto LAB_0001b9ad;
    *(type_11 *)(var_10 + -0x60) = 0x10;
    *(int *)(var_10 + -100) = -*(int *)(var_10 + -0x54);
    *(int *)(var_10 + -0x68) = var_2;
    *(type_18 **)(var_10 + -0x6c) = var_10 + -0x40;
    *(type_11 *)(var_10 + -0x70) = 0x1ba34;
    var_2 = var_75();
    if (-1 < var_2) {
      if (var_71 != -1) {
        *(int *)(var_10 + -0x58) = var_71;
        goto LAB_0001b975;
      }
      goto LAB_0001b984;
    }
  }
  else {
    *(int *)(var_10 + var_2 * 8 + -0x40) = var_74;
    *(type_36 *)(var_10 + var_2 * 8 + -0x3c) = 1;
    var_2 = var_71;
    if (var_45 != var_28) {
LAB_0001ba92:
      *(int *)(var_10 + -0x50) = var_2;
      *(type_11 *)(var_10 + -0x60) = 0x1ba9d;
      var_76(var_19);
      var_2 = *(int *)(var_10 + -0x50);
      var_71 = *(int *)(var_10 + -0x58);
      goto LAB_0001ba1c;
    }
    *(type_11 *)(var_10 + -0x60) = 0x10;
    *(int *)(var_10 + -100) = -*(int *)(var_10 + -0x54);
    *(int *)(var_10 + -0x68) = var_71;
    *(type_18 **)(var_10 + -0x6c) = var_10 + -0x40;
    *(type_11 *)(var_10 + -0x70) = 0x1b96a;
    var_2 = var_75();
    if (-1 < var_2) {
LAB_0001b975:
      if ((var_10[*(int *)(var_10 + -0x58) * 8 + -0x3a] & 1) != 0) {
        *(type_11 *)(var_10 + -100) = 8;
        *(type_18 **)(var_10 + -0x68) = var_10 + -0x4c;
        *(int *)(var_10 + -0x6c) = (var_19->itc).fd;
        *(type_11 *)(var_10 + -0x70) = 0x1bac5;
        var_77(*(int *)(var_10 + -0x6c),*(void **)(var_10 + -0x68),*(size_t *)(var_10 + -100));
      }
LAB_0001b984:
      if (((var_19->shutdown == false) && (var_70 != -1)) && ((var_10[-0x3a] & 1) != 0)) {
        *(type_11 *)(var_10 + -0x60) = 0x1b9a4;
        var_78(var_19);
      }
      goto LAB_0001b9ad;
    }
  }
  *(type_11 *)(var_10 + -0x60) = 0x1ba55;
  piVar13 = var_25();
  if (*piVar13 != 4) {
    *(int *)(var_10 + -0x6c) = *piVar13;
    *(type_11 *)(var_10 + -0x70) = 0x1ba69;
    pcVar24 = var_31(*(int *)(var_10 + -0x6c));
    *(char **)(var_10 + -100) = pcVar24;
    *(int *)(var_10 + -0x68) = var_12 + 0xf7f7;
    *(type_1 **)(var_10 + -0x6c) = var_19;
    *(type_11 *)(var_10 + -0x70) = 0x1ba7a;
    var_32(*(type_1 **)(var_10 + -0x6c),*(char **)(var_10 + -0x68));
  }
LAB_0001b9ad:
  if (*(int *)(var_10 + -0x30) != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    *(type_37 **)(var_10 + -0x60) = &UNK_0001bad2;
    var_3();
  }
  return;
}


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

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

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

{
  pthread_mutex_t *__mutex;
  uint uVar1;
  code *pcVar2;
  uint uVar3;
  int iVar4;
  undefined4 *puVar5;
  int iVar6;
  int *piVar7;
  int *piVar8;
  int *piVar9;
  void *pvVar10;
  ssize_t sVar11;
  int iVar12;
  int *piVar13;
  char *pcVar14;
  int iVar15;
  undefined4 extraout_ECX;
  int *piVar16;
  int iVar17;
  __compar_fn_t extraout_EDX;
  __compar_fn_t __compar;
  undefined4 extraout_EDX_00;
  int extraout_EDX_01;
  undefined1 *puVar18;
  undefined1 *puVar19;
  undefined1 *puVar20;
  undefined1 *puVar21;
  undefined1 *puVar22;
  void **__rootp;
  undefined4 uVar23;
  int in_GS_OFFSET;
  undefined8 uVar24;
  byte abStackY_29e [450];
  size_t asStackY_dc [7];
  uint auStackY_c0 [6];
  byte abStackY_a8 [4];
  int aiStackY_a4 [18];
  undefined1 auStack_4c [12];
  __compar_fn_t local_40;
  int local_38 [4];
  undefined4 local_28;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x1a86b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  do {
    __rootp = param_1;
    param_1 = (void **)__rootp[0x1c];
  } while ((void **)__rootp[0x1c] != (void **)0x0);
  if (__rootp[0x3d] == (void *)0x0) {
LAB_0001a89b:
    if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
      FUN_000299b0();
    }
    return 0;
  }
  piVar13 = local_38;
  uVar3 = 0;
  do {
    *(undefined4 *)((int)piVar13 + uVar3) = 0;
    uVar3 = uVar3 + 4;
  } while (uVar3 < 0x18);
  if (param_3 == 0x10) {
    local_38[1] = *(undefined4 *)(param_2 + 4);
    local_38[0] = 2;
  }
  else {
    if (param_3 != 0x1c) goto LAB_0001a89b;
    local_38[1] = *(undefined4 *)(param_2 + 8);
    local_38[0] = 10;
    local_38[2] = *(undefined4 *)(param_2 + 0xc);
    local_38[3] = *(undefined4 *)(param_2 + 0x10);
    local_28 = *(undefined4 *)(param_2 + 0x14);
  }
  __mutex = (pthread_mutex_t *)(__rootp + 0x25);
  iVar4 = pthread_mutex_lock(__mutex);
  puVar19 = auStack_4c;
  if (iVar4 == 0) {
    local_40 = FUN_00019d00;
    __rootp = __rootp + 0x1e;
    puVar5 = (undefined4 *)tfind(piVar13,__rootp,FUN_00019d00);
    puVar18 = auStack_4c;
    if (puVar5 != (undefined4 *)0x0) {
      piVar13 = (int *)*puVar5;
      if (piVar13[5] != 0) {
        iVar4 = piVar13[5] + -1;
        piVar13[5] = iVar4;
        __compar = local_40;
        if (iVar4 == 0) goto LAB_0001a978;
        while (iVar4 = pthread_mutex_unlock(__mutex), iVar4 != 0) {
          FUN_0001a660();
          __compar = extraout_EDX;
LAB_0001a978:
          tdelete(piVar13,__rootp,__compar);
          free(piVar13);
        }
        goto LAB_0001a89b;
      }
      puVar18 = &stack0xffffffa4;
      (*DAT_0003506c)();
    }
    *(char **)(puVar18 + -4) = "Failed to find previously-added IP address\n";
    *(undefined4 *)(puVar18 + -8) = 0x1dc;
    *(char **)(puVar18 + -0xc) = "daemon.c";
    puVar19 = puVar18 + -0x10;
    *(undefined4 *)(puVar18 + -0x10) = DAT_00035068;
    *(undefined4 *)(puVar18 + -0x14) = 0x1a9d3;
    (*DAT_0003506c)();
  }
  *(undefined4 *)(puVar19 + -4) = 0x1a9d8;
  uVar24 = FUN_0001a630();
  uVar3 = (uint)((ulonglong)uVar24 >> 0x20);
  piVar16 = (int *)uVar24;
  *(int **)(puVar19 + -4) = piVar13;
  *(pthread_mutex_t **)(puVar19 + -8) = __mutex;
  *(void ***)(puVar19 + -0xc) = __rootp;
  *(undefined ***)(puVar19 + -0x10) = &__DT_PLTGOT;
  *(undefined4 *)(puVar19 + -0x14) = 0x1a9eb;
  iVar4 = *(int *)(puVar19 + -0x14);
  *(undefined4 *)(puVar19 + -0x40) = extraout_ECX;
  *(uint *)(puVar19 + -0x44) = uVar3;
  *(undefined4 *)(puVar19 + -0x3c) = *(undefined4 *)(puVar19 + 0xc);
  *(undefined4 *)(puVar19 + -0x38) = *(undefined4 *)(puVar19 + 8);
  *(undefined4 *)(puVar19 + -0x20) = *(undefined4 *)(in_GS_OFFSET + 0x14);
  puVar20 = puVar19 + -0x4c;
  if (((char)*(undefined4 *)(puVar19 + 8) != '\0') &&
     (iVar12 = piVar16[0x1d], puVar20 = puVar19 + -0x4c, iVar12 != 0)) {
    uVar1 = piVar16[0x22];
    if (uVar1 != 0) {
      iVar6 = (uVar3 % uVar1) * 0x174 + iVar12;
      if (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8)) {
        piVar16 = *(int **)(puVar19 + -0x44);
        piVar13 = (int *)(uVar1 + (int)piVar16);
        do {
          piVar16 = (int *)((int)piVar16 + 1);
          if (piVar13 == piVar16) goto LAB_0001aa90;
          iVar6 = iVar12 + ((uint)piVar16 % uVar1) * 0x174;
        } while (*(uint *)(iVar6 + 0xec) <= *(uint *)(iVar6 + 0xe8));
      }
      *(uint *)(puVar19 + -0x54) = (uint)(byte)puVar19[-0x3c];
      *(undefined4 *)(puVar19 + -0x58) = 1;
      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + 4);
      *(undefined4 *)(puVar19 + -0x60) = 0x1ae14;
      uVar23 = FUN_0001a9e0();
      puVar20 = puVar19 + -0x4c;
      goto LAB_0001ab43;
    }
LAB_0001aa90:
    puVar20 = puVar19 + -0x5c;
    *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(puVar19 + -0x44);
    *(undefined4 *)(puVar19 + -0x60) = 0x1aa9c;
    piVar16 = (int *)close(*(int *)(puVar19 + -0x5c));
    *(undefined4 *)(puVar19 + -0x60) = 0x1aaa3;
    piVar7 = __errno_location();
    puVar21 = puVar19 + -0x4c;
    if ((piVar16 != (int *)0x0) && (puVar21 = puVar19 + -0x4c, *piVar7 == 9)) {
      *(int *)(puVar19 + -0x50) = iVar4 + 0x1066d;
      *(undefined4 *)(puVar19 + -0x54) = 0x900;
      *(int *)(puVar19 + -0x58) = iVar4 + 0x10659;
      *(undefined4 *)(puVar19 + -0x5c) = *(undefined4 *)(iVar4 + 0x1a67d);
      pcVar2 = *(code **)(iVar4 + 0x1a681);
      *(undefined4 *)(puVar19 + -0x60) = 0x1aad6;
      (*pcVar2)();
      goto LAB_0001aae0;
    }
LAB_0001ab3b:
    puVar20 = puVar21;
    *piVar7 = 0x17;
    uVar23 = 0;
LAB_0001ab43:
    if (*(int *)(puVar20 + 0x2c) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)(puVar20 + -4) = 0x1b4e1;
      FUN_000299b0();
    }
    return uVar23;
  }
LAB_0001aae0:
  if ((*(int *)(puVar20 + 8) < 0x400) || ((piVar16[0x3e] & 0x240U) != 0)) {
    puVar21 = puVar20;
    piVar9 = piVar13;
    piVar8 = piVar16;
    piVar7 = piVar16;
    if (piVar16[0x3a] != piVar16[0x3b]) {
      do {
        piVar8 = piVar7;
        piVar7 = (int *)piVar8[0x1c];
      } while ((int *)piVar8[0x1c] != (int *)0x0);
      if (piVar8[0x3d] != 0) {
        *(undefined4 *)(puVar20 + -0xc) = 1;
        *(undefined4 *)(puVar20 + -0x10) = 0x18;
        *(undefined4 *)(puVar20 + -0x14) = 0x1ad7c;
        piVar13 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));
        piVar9 = piVar13;
        if (piVar13 == (int *)0x0) goto LAB_0001ab0a;
        if (*(int *)(puVar20 + 0x50) == 0x10) goto LAB_0001b05b;
        if (*(int *)(puVar20 + 0x50) == 0x1c) {
          iVar12 = *(int *)(puVar20 + 0xc);
          *piVar13 = 10;
          piVar13[1] = *(int *)(iVar12 + 8);
          piVar13[2] = *(int *)(iVar12 + 0xc);
          iVar6 = *(int *)(iVar12 + 0x14);
          piVar13[3] = *(int *)(iVar12 + 0x10);
          piVar13[4] = iVar6;
          goto LAB_0001b06b;
        }
        *(int **)(puVar20 + -0x10) = piVar13;
        *(undefined4 *)(puVar20 + -0x14) = 0x1ada8;
        free(*(void **)(puVar20 + -0x10));
      }
      do {
        pcVar2 = (code *)piVar16[0x10];
        if (pcVar2 != (code *)0x0) {
          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);
          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);
          *(int *)(puVar20 + -0x10) = piVar16[0x11];
          *(undefined4 *)(puVar20 + -0x14) = 0x1ab8e;
          piVar8 = (int *)(*pcVar2)();
          if (piVar8 == (int *)0x0) {
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);
            *(undefined4 *)(puVar20 + -0x14) = 0x1aea4;
            iVar12 = close(*(int *)(puVar20 + -0x10));
            if (iVar12 != 0) {
              *(undefined4 *)(puVar20 + -4) = 0x1aeb0;
              piVar7 = __errno_location();
              if (*piVar7 == 9) goto LAB_0001b55d;
            }
            *(undefined4 *)(puVar20 + -4) = 0x1aec8;
            MASKED();
            uVar23 = 0;
            goto LAB_0001ab43;
          }
        }
        *(undefined4 *)(puVar20 + -0xc) = 0xfc;
        *(undefined4 *)(puVar20 + -0x10) = 1;
        *(undefined4 *)(puVar20 + -0x14) = 0x1abaa;
        piVar9 = (int *)calloc(*(size_t *)(puVar20 + -0x10),*(size_t *)(puVar20 + -0xc));
        if (piVar9 == (int *)0x0) {
          *(undefined4 *)(puVar20 + -4) = 0x1aed5;
          piVar8 = __errno_location();
          piVar13 = (int *)*piVar8;
          *(int **)(puVar20 + -0x10) = piVar13;
          *(undefined4 *)(puVar20 + -0x14) = 0x1aee2;
          pcVar14 = strerror(*(int *)(puVar20 + -0x10));
          *(char **)(puVar20 + -8) = pcVar14;
          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;
          *(int **)(puVar20 + -0x10) = piVar16;
          *(undefined4 *)(puVar20 + -0x14) = 0x1aef3;
          FUN_000215b0();
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);
          *(undefined4 *)(puVar20 + -0x14) = 0x1aefd;
          iVar12 = close(*(int *)(puVar20 + -0x10));
          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b57c;
          *(undefined4 *)(puVar20 + -4) = 0x1af1c;
          MASKED();
          *piVar8 = (int)piVar13;
          uVar23 = 0;
          goto LAB_0001ab43;
        }
        *(int *)(puVar20 + -0x10) = piVar16[0x1f];
        *(undefined4 *)(puVar20 + -0x14) = 0x1abc2;
        iVar12 = FUN_000219e0();
        piVar9[10] = iVar12;
        if (iVar12 == 0) {
          *(undefined4 *)(puVar20 + -4) = 0x1af2a;
          piVar8 = __errno_location();
          *(int *)(puVar20 + -0x10) = *piVar8;
          *(undefined4 *)(puVar20 + -0x14) = 0x1af36;
          pcVar14 = strerror(*(int *)(puVar20 + -0x10));
          *(char **)(puVar20 + -8) = pcVar14;
          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;
          *(int **)(puVar20 + -0x10) = piVar16;
          *(undefined4 *)(puVar20 + -0x14) = 0x1af47;
          FUN_000215b0();
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);
          *(undefined4 *)(puVar20 + -0x14) = 0x1af51;
          iVar12 = close(*(int *)(puVar20 + -0x10));
          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b63b;
          *(undefined4 *)(puVar20 + -4) = 0x1af70;
          MASKED();
          *(int **)(puVar20 + -0x10) = piVar9;
          *(undefined4 *)(puVar20 + -0x14) = 0x1af79;
          free(*(void **)(puVar20 + -0x10));
          *piVar8 = 0xc;
          uVar23 = 0;
          goto LAB_0001ab43;
        }
        piVar9[0x26] = piVar16[0x3c];
        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x50);
        *(undefined4 *)(puVar20 + -0x14) = 0x1abe8;
        pvVar10 = malloc(*(size_t *)(puVar20 + -0x10));
        piVar9[0x15] = (int)pvVar10;
        if (pvVar10 == (void *)0x0) {
          *(undefined4 *)(puVar20 + -4) = 0x1ae23;
          piVar8 = __errno_location();
          iVar12 = *piVar8;
          *(int *)(puVar20 + 0x10) = iVar12;
          *(int *)(puVar20 + -0x10) = iVar12;
          *(undefined4 *)(puVar20 + -0x14) = 0x1ae34;
          pcVar14 = strerror(*(int *)(puVar20 + -0x10));
          *(char **)(puVar20 + -8) = pcVar14;
          *(int *)(puVar20 + -0xc) = iVar4 + 0x10683;
          *(int **)(puVar20 + -0x10) = piVar16;
          *(undefined4 *)(puVar20 + -0x14) = 0x1ae45;
          FUN_000215b0();
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);
          *(undefined4 *)(puVar20 + -0x14) = 0x1ae4f;
          iVar12 = close(*(int *)(puVar20 + -0x10));
          if ((iVar12 != 0) && (*piVar8 == 9)) goto LAB_0001b61c;
          *(undefined4 *)(puVar20 + -4) = 0x1ae6e;
          MASKED();
          *(int *)(puVar20 + -0x10) = piVar9[10];
          *(undefined4 *)(puVar20 + -0x14) = 0x1ae79;
          FUN_00021a90();
          *(int **)(puVar20 + -0x10) = piVar9;
          *(undefined4 *)(puVar20 + -0x14) = 0x1ae81;
          free(*(void **)(puVar20 + -0x10));
          *piVar8 = *(int *)(puVar20 + 0x10);
          uVar23 = 0;
          goto LAB_0001ab43;
        }
        *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 0x50);
        *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 0xc);
        puVar21 = puVar20 + -0x10;
        *(void **)(puVar20 + -0x10) = pvVar10;
        *(undefined4 *)(puVar20 + -0x14) = 0x1ac07;
        memcpy(*(void **)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),*(size_t *)(puVar20 + -8));
        iVar12 = *(int *)(puVar20 + 0x50);
        piVar9[6] = (int)piVar16;
        piVar9[0x24] = iVar12;
        piVar9[0x29] = *(int *)(puVar20 + 8);
        *(undefined1 *)(piVar9 + 0x2a) = puVar20[0x10];
        *(undefined4 *)(puVar20 + -0x14) = 0x1ac2e;
        iVar12 = FUN_00021e50();
        piVar9[0x25] = iVar12;
        if ((*(byte *)(piVar16 + 0x3e) & 2) == 0) {
          *(int **)(puVar20 + -0x10) = piVar9;
          *(undefined4 *)(puVar20 + -0x14) = 0x1ac4d;
          FUN_00016110();
LAB_0001ac50:
          *(int **)(puVar20 + 0x10) = piVar16 + 0x2b;
          *(int **)(puVar20 + -0x10) = piVar16 + 0x2b;
          *(undefined4 *)(puVar20 + -0x14) = 0x1ac63;
          iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));
          puVar21 = puVar20;
          if (iVar12 != 0) goto LAB_0001b5bf;
          if ((uint)piVar16[0x3a] < (uint)piVar16[0x3b]) {
            piVar16[0x3a] = piVar16[0x3a] + 1;
            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {
              iVar12 = piVar16[0xc];
              iVar6 = piVar16[0xd];
              piVar9[5] = 0;
              piVar9[4] = iVar12;
              if (iVar6 == 0) {
                piVar16[0xd] = (int)piVar9;
              }
              else {
                *(int **)(iVar12 + 0x14) = piVar9;
              }
              piVar16[0xc] = (int)piVar9;
            }
            iVar12 = piVar16[2];
            piVar8 = (int *)piVar16[3];
            piVar9[3] = 0;
            piVar9[2] = iVar12;
            if (piVar8 == (int *)0x0) {
              piVar16[3] = (int)piVar9;
            }
            else {
              *(int **)(iVar12 + 0xc) = piVar9;
            }
            piVar16[2] = (int)piVar9;
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);
            *(undefined4 *)(puVar20 + -0x14) = 0x1acda;
            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));
            if (iVar12 != 0) goto LAB_0001b5fd;
            pcVar2 = (code *)piVar16[0x14];
            if (pcVar2 != (code *)0x0) {
              *(undefined4 *)(puVar20 + -4) = 0;
              *(int **)(puVar20 + -8) = piVar9 + 0xc;
              *(int **)(puVar20 + -0xc) = piVar9;
              *(int *)(puVar20 + -0x10) = piVar16[0x15];
              *(undefined4 *)(puVar20 + -0x14) = 0x1acf8;
              (*pcVar2)();
            }
            uVar3 = piVar16[0x3e];
            if ((uVar3 & 4) == 0) {
              iVar12 = piVar16[0x24];
              piVar9[0x16] = piVar16[0x23];
              piVar9[0x17] = iVar12;
            }
            else {
              *(int **)(puVar20 + -0x10) = piVar9;
              *(int *)(puVar20 + -0x14) = iVar4 + 0x1e35;
              *(int *)(puVar20 + -0x18) = piVar16[0x21];
              *(int *)(puVar20 + -0x1c) = iVar4 + 0x106b8;
              *(int **)(puVar20 + -0x20) = piVar9 + 0x16;
              *(undefined4 *)(puVar20 + -0x24) = 0x1b2fe;
              iVar12 = FUN_00023b50();
              if (iVar12 == 0) {
                *(undefined4 *)(puVar20 + -4) = 0x1b4b0;
                piVar8 = __errno_location();
                piVar8 = (int *)*piVar8;
                *(int **)(puVar20 + -0x10) = piVar8;
                *(undefined4 *)(puVar20 + -0x14) = 0x1b4bb;
                pcVar14 = strerror(*(int *)(puVar20 + -0x10));
                *(char **)(puVar20 + -8) = pcVar14;
                *(char **)(puVar20 + -0xc) = "gnutls_malloc" + iVar4 + 0xb;
                *(int **)(puVar20 + -0x10) = piVar16;
                *(undefined4 *)(puVar20 + -0x14) = 0x1b4cc;
                FUN_000215b0();
                goto LAB_0001b19b;
              }
              uVar3 = piVar16[0x3e];
            }
            if ((uVar3 & 0x200) == 0) {
              if ((((uVar3 & 4) == 0) && (puVar20[0x14] != '\0')) &&
                 (iVar12 = piVar16[0x37], iVar12 != -1)) {
                *(undefined4 *)(puVar20 + -8) = 8;
                *(int *)(puVar20 + -0xc) = iVar4 + 0x11e05;
                *(int *)(puVar20 + -0x10) = iVar12;
                *(undefined4 *)(puVar20 + -0x14) = 0x1b423;
                sVar11 = write(*(int *)(puVar20 + -0x10),*(void **)(puVar20 + -0xc),
                               *(size_t *)(puVar20 + -8));
                if (sVar11 < 1) {
                  *(undefined4 *)(puVar20 + -4) = 0x1b433;
                  piVar13 = __errno_location();
                  if (*piVar13 != 0xb) {
                    *(undefined4 *)(puVar20 + -4) = extraout_EDX_00;
                    *(undefined4 *)(puVar20 + -8) = extraout_EDX_00;
                    *(char **)(puVar20 + -0xc) = "gnutls_dh_params_init" + iVar4 + 0xb;
                    *(int **)(puVar20 + -0x10) = piVar16;
                    *(undefined4 *)(puVar20 + -0x14) = 0x1b44b;
                    FUN_000215b0();
                  }
                }
              }
              uVar23 = 1;
              goto LAB_0001ab43;
            }
            if (((uVar3 & 0x1000) != 0) && (puVar20[0x14] == '\0')) {
              iVar4 = piVar16[8];
              iVar12 = piVar16[9];
              piVar9[1] = 0;
              piVar9[0x2c] = piVar9[0x2c] | 7;
              *piVar9 = iVar4;
              if (iVar12 == 0) {
                piVar16[9] = (int)piVar9;
              }
              else {
                *(int **)(iVar4 + 4) = piVar9;
              }
              piVar16[8] = (int)piVar9;
              uVar23 = 1;
              goto LAB_0001ab43;
            }
            *(undefined4 *)(puVar20 + 0x20) = 0x80000007;
            *(int **)(puVar20 + 0x24) = piVar9;
            *(undefined1 **)(puVar20 + -4) = puVar20 + 0x20;
            *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);
            *(undefined4 *)(puVar20 + -0xc) = 1;
            *(int *)(puVar20 + -0x10) = piVar16[0x33];
            *(undefined4 *)(puVar20 + -0x14) = 0x1b336;
            iVar12 = epoll_ctl(*(int *)(puVar20 + -0x10),*(int *)(puVar20 + -0xc),
                               *(int *)(puVar20 + -8),*(epoll_event **)(puVar20 + -4));
            if (iVar12 == 0) {
              piVar9[0x2c] = piVar9[0x2c] | 8;
              uVar23 = 1;
              goto LAB_0001ab43;
            }
            *(undefined4 *)(puVar20 + -4) = 0x1b487;
            piVar8 = __errno_location();
            piVar8 = (int *)*piVar8;
            *(int **)(puVar20 + -0x10) = piVar8;
            *(undefined4 *)(puVar20 + -0x14) = 0x1b492;
            pcVar14 = strerror(*(int *)(puVar20 + -0x10));
            *(char **)(puVar20 + -8) = pcVar14;
            *(int *)(puVar20 + -0xc) = iVar4 + 0xf750;
            *(int **)(puVar20 + -0x10) = piVar16;
            *(undefined4 *)(puVar20 + -0x14) = 0x1b4a3;
            FUN_000215b0();
LAB_0001b19b:
            pcVar2 = (code *)piVar16[0x14];
            if (pcVar2 != (code *)0x0) {
              *(undefined4 *)(puVar20 + -4) = 1;
              *(int **)(puVar20 + -8) = piVar9 + 0xc;
              *(int **)(puVar20 + -0xc) = piVar9;
              *(int *)(puVar20 + -0x10) = piVar16[0x15];
              *(undefined4 *)(puVar20 + -0x14) = 0x1b1ae;
              (*pcVar2)();
            }
            if (piVar9[0x38] != 0) {
              *(int *)(puVar20 + -0x10) = piVar9[0x38];
              *(undefined4 *)(puVar20 + -0x14) = 0x1b1c4;
              gnutls_deinit();
            }
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);
            *(undefined4 *)(puVar20 + -0x14) = 0x1b1d3;
            iVar12 = close(*(int *)(puVar20 + -0x10));
            if (iVar12 != 0) {
              *(undefined4 *)(puVar20 + -4) = 0x1b1df;
              piVar13 = __errno_location();
              if (*piVar13 == 9) goto LAB_0001b500;
            }
            *(undefined4 *)(puVar20 + -4) = 0x1b1f7;
            MASKED();
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);
            *(undefined4 *)(puVar20 + -0x14) = 0x1b203;
            iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));
            if (iVar12 != 0) goto LAB_0001b5de;
            if ((*(byte *)(piVar16 + 0x3e) & 4) == 0) {
              iVar12 = piVar9[4];
              if (piVar9[5] == 0) {
                piVar16[0xc] = iVar12;
                iVar6 = 0;
              }
              else {
                *(int *)(piVar9[5] + 0x10) = iVar12;
                iVar12 = piVar9[4];
                iVar6 = piVar9[5];
              }
              if (iVar12 == 0) goto LAB_0001b472;
              *(int *)(iVar12 + 0x14) = iVar6;
LAB_0001b239:
              piVar9[4] = 0;
              piVar9[5] = 0;
            }
            iVar12 = piVar9[2];
            if (piVar9[3] == 0) {
              piVar16[2] = iVar12;
              iVar6 = 0;
            }
            else {
              *(int *)(piVar9[3] + 8) = iVar12;
              iVar12 = piVar9[2];
              iVar6 = piVar9[3];
            }
            if (iVar12 == 0) {
              piVar16[3] = iVar6;
            }
            else {
              *(int *)(iVar12 + 0xc) = iVar6;
            }
            piVar9[2] = 0;
            piVar9[3] = 0;
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);
            *(undefined4 *)(puVar20 + -0x14) = 0x1b283;
            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));
            if (iVar12 == 0) {
              *(int *)(puVar20 + -0x10) = piVar9[10];
              *(undefined4 *)(puVar20 + -0x14) = 0x1b299;
              FUN_00021a90();
              *(int *)(puVar20 + -0x10) = piVar9[0x15];
              *(undefined4 *)(puVar20 + -0x14) = 0x1b2a2;
              free(*(void **)(puVar20 + -0x10));
              *(int **)(puVar20 + -0x10) = piVar9;
              *(undefined4 *)(puVar20 + -0x14) = 0x1b2aa;
              free(*(void **)(puVar20 + -0x10));
              *(undefined4 *)(puVar20 + -0x14) = 0x1b2af;
              piVar13 = __errno_location();
              if (piVar8 == (int *)0x0) {
                *piVar13 = 0x16;
                uVar23 = 0;
              }
              else {
                *piVar13 = (int)piVar8;
                uVar23 = 0;
              }
              goto LAB_0001ab43;
            }
          }
          else {
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x10);
            *(undefined4 *)(puVar20 + -0x14) = 0x1b178;
            iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));
            if (iVar12 == 0) {
              piVar8 = (int *)0x17;
              *(char **)(puVar20 + -0xc) = "__fdelt_chk" + iVar4 + 7;
              *(int **)(puVar20 + -0x10) = piVar16;
              *(undefined4 *)(puVar20 + -0x14) = 0x1b198;
              FUN_000215b0();
              goto LAB_0001b19b;
            }
            *(int *)(puVar20 + -4) = iVar4 + 0xf639;
            *(undefined4 *)(puVar20 + -8) = 0x9ea;
            *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
            puVar21 = puVar20 + -0x10;
            *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
            pcVar2 = *(code **)(iVar4 + 0x1a681);
            *(undefined4 *)(puVar20 + -0x14) = 0x1b500;
            (*pcVar2)();
LAB_0001b500:
            *(int *)(puVar21 + -4) = iVar4 + 0x1066d;
            *(undefined4 *)(puVar21 + -8) = 0xa56;
            *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;
            puVar20 = puVar21 + -0x10;
            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
            pcVar2 = *(code **)(iVar4 + 0x1a681);
            *(undefined4 *)(puVar21 + -0x14) = 0x1b51f;
            (*pcVar2)();
          }
          *(int *)(puVar20 + -4) = iVar4 + 0xf639;
          *(undefined4 *)(puVar20 + -8) = 0xa67;
          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
          puVar21 = puVar20 + -0x10;
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
          pcVar2 = *(code **)(iVar4 + 0x1a681);
          *(undefined4 *)(puVar20 + -0x14) = 0x1b53e;
          (*pcVar2)();
          goto LAB_0001b53e;
        }
        piVar9[0x3b] = 1;
        *(int **)(puVar20 + -0x10) = piVar9;
        *(undefined4 *)(puVar20 + -0x14) = 0x1af9c;
        FUN_000296b0();
        *(undefined4 *)(puVar20 + -0xc) = 0x49;
        *(int **)(puVar20 + -0x10) = piVar9 + 0x38;
        *(undefined4 *)(puVar20 + -0x14) = 0x1afac;
        gnutls_init();
        *(int *)(puVar20 + -0xc) = piVar16[0x43];
        *(int *)(puVar20 + -0x10) = piVar9[0x38];
        *(undefined4 *)(puVar20 + -0x14) = 0x1afbf;
        gnutls_priority_set();
        piVar8 = *(int **)(puVar20 + -0xc);
        *(int **)(puVar20 + -0xc) = piVar9;
        *(int *)(puVar20 + -0x10) = piVar9[0x38];
        *(undefined4 *)(puVar20 + -0x14) = 0x1afcd;
        gnutls_session_set_ptr();
        iVar12 = piVar16[0x44];
        if (iVar12 == 1) {
          *(int *)(puVar20 + -8) = piVar16[0x45];
          *(undefined4 *)(puVar20 + -0xc) = 1;
          *(int *)(puVar20 + -0x10) = piVar9[0x38];
          *(undefined4 *)(puVar20 + -0x14) = 0x1b3dd;
          gnutls_credentials_set();
LAB_0001b38a:
          *(undefined4 *)(puVar20 + -8) = *(undefined4 *)(puVar20 + 8);
          *(undefined4 *)(puVar20 + -0xc) = *(undefined4 *)(puVar20 + 8);
          *(int *)(puVar20 + -0x10) = piVar9[0x38];
          *(undefined4 *)(puVar20 + -0x14) = 0x1b39e;
          gnutls_transport_set_int2();
          if (piVar16[0x4e] != 0) {
            *(undefined4 *)(puVar20 + -0xc) = 1;
            *(int *)(puVar20 + -0x10) = piVar9[0x38];
            *(undefined4 *)(puVar20 + -0x14) = 0x1b3bf;
            gnutls_certificate_server_set_request();
          }
          goto LAB_0001ac50;
        }
        if (iVar12 == 4) {
          *(int *)(puVar20 + -8) = piVar16[0x47];
          *(undefined4 *)(puVar20 + -0xc) = 4;
          *(int *)(puVar20 + -0x10) = piVar9[0x38];
          *(undefined4 *)(puVar20 + -0x14) = 0x1b373;
          gnutls_credentials_set();
          *(int *)(puVar20 + -0xc) = iVar4 + -0xcbb;
          *(int *)(puVar20 + -0x10) = piVar16[0x47];
          *(undefined4 *)(puVar20 + -0x14) = 0x1b387;
          gnutls_psk_set_server_credentials_function();
          goto LAB_0001b38a;
        }
        *(int *)(puVar20 + -8) = iVar12;
        *(char **)(puVar20 + -0xc) = "gnutls_record_check_pending" + iVar4 + 5;
        *(int *)(puVar20 + -0x10) = piVar9[6];
        *(undefined4 *)(puVar20 + -0x14) = 0x1affb;
        FUN_000215b0();
        piVar8 = *(int **)(puVar20 + -0x10);
        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 8);
        *(undefined4 *)(puVar20 + -0x14) = 0x1b005;
        iVar12 = close(*(int *)(puVar20 + -0x10));
        if (iVar12 != 0) {
          *(undefined4 *)(puVar20 + -4) = 0x1b011;
          piVar13 = __errno_location();
          if (*piVar13 != 9) goto LAB_0001b01a;
          *(int *)(puVar20 + -4) = iVar4 + 0x1066d;
          *(undefined4 *)(puVar20 + -8) = 0x9c3;
          *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
          pcVar2 = *(code **)(iVar4 + 0x1a681);
          *(undefined4 *)(puVar20 + -0x14) = 0x1b472;
          (*pcVar2)();
          iVar6 = extraout_EDX_01;
LAB_0001b472:
          piVar16[0xd] = iVar6;
          puVar20 = puVar21;
          goto LAB_0001b239;
        }
LAB_0001b01a:
        *(undefined4 *)(puVar20 + -4) = 0x1b029;
        MASKED();
        *(int *)(puVar20 + -0x10) = piVar9[0x15];
        *(undefined4 *)(puVar20 + -0x14) = 0x1b034;
        free(*(void **)(puVar20 + -0x10));
        *(int **)(puVar20 + -0x10) = piVar9;
        *(undefined4 *)(puVar20 + -0x14) = 0x1b03c;
        free(*(void **)(puVar20 + -0x10));
        *(int *)(puVar20 + -0x14) = iVar4 + 0x106a0;
        *(undefined4 *)(puVar20 + -0x18) = 0x9c9;
        *(int *)(puVar20 + -0x1c) = iVar4 + 0x10659;
        *(undefined4 *)(puVar20 + -0x20) = *(undefined4 *)(iVar4 + 0x1a67d);
        pcVar2 = *(code **)(iVar4 + 0x1a681);
        *(undefined4 *)(puVar20 + -0x24) = 0x1b05b;
        piVar13 = (int *)(*pcVar2)();
        puVar20 = puVar20 + -0x20;
LAB_0001b05b:
        *piVar13 = 2;
        piVar9[1] = *(int *)(*(int *)(puVar20 + 0xc) + 4);
        piVar13 = piVar9;
LAB_0001b06b:
        *(int **)(puVar20 + 0x18) = piVar8 + 0x25;
        *(int **)(puVar20 + -0x10) = piVar8 + 0x25;
        *(undefined4 *)(puVar20 + -0x14) = 0x1b07e;
        iVar12 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar20 + -0x10));
        piVar9 = piVar13;
        if (iVar12 != 0) goto LAB_0001b5ba;
        *(int *)(puVar20 + -8) = iVar4 + -0xceb;
        *(int **)(puVar20 + -0xc) = piVar8 + 0x1e;
        *(int **)(puVar20 + -0x10) = piVar13;
        *(undefined4 *)(puVar20 + -0x14) = 0x1b09d;
        puVar5 = (undefined4 *)
                 tsearch(*(void **)(puVar20 + -0x10),*(void ***)(puVar20 + -0xc),
                         *(__compar_fn_t *)(puVar20 + -8));
        puVar21 = puVar20;
        if (puVar5 == (undefined4 *)0x0) {
          *(char **)(puVar20 + -0xc) = "gnutls_record_get_direction" + iVar4 + 10;
          *(int **)(puVar20 + -0x10) = piVar8;
          *(undefined4 *)(puVar20 + -0x14) = 0x1b120;
          FUN_000215b0();
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);
          *(undefined4 *)(puVar20 + -0x14) = 0x1b12a;
          iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));
          if (iVar12 == 0) {
            *(int **)(puVar20 + -0x10) = piVar13;
            *(undefined4 *)(puVar20 + -0x14) = 0x1b13a;
            free(*(void **)(puVar20 + -0x10));
            goto LAB_0001ab0a;
          }
          break;
        }
        piVar7 = (int *)*puVar5;
        if (piVar13 != piVar7) {
          *(int **)(puVar20 + 0x1c) = piVar7;
          *(int **)(puVar20 + -0x10) = piVar13;
          *(undefined4 *)(puVar20 + -0x14) = 0x1b0b7;
          free(*(void **)(puVar20 + -0x10));
          piVar7 = *(int **)(puVar20 + 0x1c);
        }
        if ((uint)piVar8[0x3d] <= (uint)piVar7[5]) goto LAB_0001b0f0;
        piVar7[5] = piVar7[5] + 1;
        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);
        *(undefined4 *)(puVar20 + -0x14) = 0x1b0db;
        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));
      } while (iVar12 == 0);
      do {
        *(undefined4 *)(puVar20 + -4) = 0x1b0eb;
        FUN_0001a660();
LAB_0001b0f0:
        *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(puVar20 + 0x18);
        *(undefined4 *)(puVar20 + -0x14) = 0x1b0fc;
        iVar12 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar20 + -0x10));
      } while (iVar12 != 0);
    }
LAB_0001ab0a:
    *(char **)(puVar21 + -0xc) = "__fdelt_chk" + iVar4 + 7;
    *(int **)(puVar21 + -0x10) = piVar16;
    *(undefined4 *)(puVar21 + -0x14) = 0x1ab1a;
    FUN_000215b0();
    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(puVar21 + 8);
    *(undefined4 *)(puVar21 + -0x14) = 0x1ab24;
    piVar16 = (int *)close(*(int *)(puVar21 + -0x10));
    *(undefined4 *)(puVar21 + -0x14) = 0x1ab2b;
    piVar7 = __errno_location();
    if ((piVar16 == (int *)0x0) || (*piVar7 != 9)) goto LAB_0001ab3b;
LAB_0001b53e:
    *(int *)(puVar21 + -4) = iVar4 + 0x1066d;
    *(undefined4 *)(puVar21 + -8) = 0x93d;
    *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;
    puVar20 = puVar21 + -0x10;
    *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
    pcVar2 = *(code **)(iVar4 + 0x1a681);
    *(undefined4 *)(puVar21 + -0x14) = 0x1b55d;
    (*pcVar2)();
    piVar13 = piVar9;
LAB_0001b55d:
    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;
    *(undefined4 *)(puVar20 + -8) = 0x950;
    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
    pcVar2 = *(code **)(iVar4 + 0x1a681);
    *(undefined4 *)(puVar20 + -0x14) = 0x1b57c;
    (*pcVar2)();
    puVar20 = puVar20 + -0x10;
LAB_0001b57c:
    *(int *)(puVar20 + -4) = iVar4 + 0x1066d;
    *(undefined4 *)(puVar20 + -8) = 0x962;
    *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
    *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
    pcVar2 = *(code **)(iVar4 + 0x1a681);
    *(undefined4 *)(puVar20 + -0x14) = 0x1b59b;
    (*pcVar2)();
    puVar21 = puVar20 + -0x10;
  }
  else {
    *(undefined4 *)(puVar20 + -4) = 0x400;
    piVar8 = *(int **)(puVar20 + 8);
    *(int **)(puVar20 + -8) = piVar8;
    *(char **)(puVar20 + -0xc) = "pthread_self" + iVar4 + 10;
    *(int **)(puVar20 + -0x10) = piVar16;
    *(undefined4 *)(puVar20 + -0x14) = 0x1adc7;
    FUN_000215b0();
    *(int **)(puVar20 + -0x10) = piVar8;
    *(undefined4 *)(puVar20 + -0x14) = 0x1adcf;
    piVar16 = (int *)close(*(int *)(puVar20 + -0x10));
    *(undefined4 *)(puVar20 + -0x14) = 0x1add6;
    piVar7 = __errno_location();
    if ((piVar16 == (int *)0x0) || (puVar21 = puVar20, *piVar7 != 9)) {
      *piVar7 = 0x16;
      uVar23 = 0;
      goto LAB_0001ab43;
    }
  }
  *(int *)(puVar21 + -4) = iVar4 + 0x1066d;
  *(undefined4 *)(puVar21 + -8) = 0x912;
  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;
  puVar20 = puVar21 + -0x10;
  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
  pcVar2 = *(code **)(iVar4 + 0x1a681);
  *(undefined4 *)(puVar21 + -0x14) = 0x1b5ba;
  (*pcVar2)();
  piVar9 = piVar13;
LAB_0001b5ba:
  *(undefined4 *)(puVar20 + -4) = 0x1b5bf;
  FUN_0001a630();
  puVar21 = puVar20;
LAB_0001b5bf:
  *(int *)(puVar21 + -4) = iVar4 + 0xf615;
  *(undefined4 *)(puVar21 + -8) = 0x9e4;
  *(int *)(puVar21 + -0xc) = iVar4 + 0x10659;
  puVar20 = puVar21 + -0x10;
  *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
  pcVar2 = *(code **)(iVar4 + 0x1a681);
  *(undefined4 *)(puVar21 + -0x14) = 0x1b5de;
  (*pcVar2)();
LAB_0001b5de:
  *(int *)(puVar20 + -4) = iVar4 + 0xf615;
  *(undefined4 *)(puVar20 + -8) = 0xa5b;
  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
  pcVar2 = *(code **)(iVar4 + 0x1a681);
  *(undefined4 *)(puVar20 + -0x14) = 0x1b5fd;
  (*pcVar2)();
  puVar20 = puVar20 + -0x10;
LAB_0001b5fd:
  *(int *)(puVar20 + -4) = iVar4 + 0xf639;
  *(undefined4 *)(puVar20 + -8) = 0xa01;
  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
  pcVar2 = *(code **)(iVar4 + 0x1a681);
  *(undefined4 *)(puVar20 + -0x14) = 0x1b61c;
  (*pcVar2)();
  puVar20 = puVar20 + -0x10;
LAB_0001b61c:
  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;
  *(undefined4 *)(puVar20 + -8) = 0x985;
  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
  pcVar2 = *(code **)(iVar4 + 0x1a681);
  *(undefined4 *)(puVar20 + -0x14) = 0x1b63b;
  (*pcVar2)();
  puVar20 = puVar20 + -0x10;
LAB_0001b63b:
  *(int *)(puVar20 + -4) = iVar4 + 0x1066d;
  *(undefined4 *)(puVar20 + -8) = 0x971;
  *(int *)(puVar20 + -0xc) = iVar4 + 0x10659;
  *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x1a67d);
  pcVar2 = *(code **)(iVar4 + 0x1a681);
  *(undefined4 *)(puVar20 + -0x14) = 0x1b65a;
  iVar12 = (*pcVar2)();
  *(int **)(puVar20 + -0x14) = piVar9;
  *(int **)(puVar20 + -0x18) = piVar8;
  *(int **)(puVar20 + -0x1c) = piVar16;
  *(undefined **)(puVar20 + -0x20) = &UNK_0001a3f5 + iVar4;
  *(undefined4 *)(puVar20 + -0x24) = 0x1b66d;
  iVar4 = *(int *)(puVar20 + -0x24);
  *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);
  uVar3 = 0;
  *(undefined4 *)(puVar20 + -0x50) = 0x1c;
  do {
    *(undefined4 *)(puVar20 + -0x4c + uVar3) = 0;
    uVar3 = uVar3 + 4;
  } while (uVar3 < 0x1c);
  iVar6 = *(int *)(iVar12 + 0xc4);
  puVar21 = puVar20 + -0x6c;
  if ((iVar6 == -1) || (puVar21 = puVar20 + -0x6c, *(char *)(iVar12 + 0xe1) != '\0'))
  goto LAB_0001b7c0;
  *(undefined4 *)(puVar20 + -0x70) = 0x80800;
  *(undefined1 **)(puVar20 + -0x74) = puVar20 + -0x50;
  *(undefined1 **)(puVar20 + -0x78) = puVar20 + -0x4c;
  *(int *)(puVar20 + -0x7c) = iVar6;
  *(undefined4 *)(puVar20 + -0x80) = 0x1b6c8;
  iVar6 = accept4(*(int *)(puVar20 + -0x7c),*(sockaddr **)(puVar20 + -0x78),
                  *(socklen_t **)(puVar20 + -0x74),*(int *)(puVar20 + -0x70));
  puVar22 = puVar20 + -0x6c;
  if ((iVar6 != -1) && (*(int *)(puVar20 + -0x50) != 0)) {
    *(undefined4 *)(puVar20 + -0x74) = 1;
    *(undefined4 *)(puVar20 + -0x78) = 0;
    *(int *)(puVar20 + -0x7c) = *(int *)(puVar20 + -0x50);
    *(undefined4 *)(puVar20 + -0x80) = 0x1b7f3;
    FUN_0001a9e0();
    puVar21 = puVar20 + -0x6c;
    uVar23 = 1;
    goto LAB_0001b7c2;
  }
  *(undefined4 *)(puVar20 + -0x70) = 0x1b6e3;
  piVar13 = __errno_location();
  iVar17 = *piVar13;
  puVar21 = puVar20 + -0x6c;
  if ((iVar17 != 0x67) && (puVar21 = puVar20 + -0x6c, iVar17 != 0x16)) {
    *(int **)(puVar20 + -0x60) = piVar13;
    if (iVar17 == 0xb) {
      puVar21 = puVar20 + -0x6c;
      if (iVar6 != -1) {
        *(int *)(puVar20 + -0x7c) = iVar6;
        *(undefined4 *)(puVar20 + -0x80) = 0x1b80e;
        iVar15 = close(*(int *)(puVar20 + -0x7c));
        piVar13 = *(int **)(puVar20 + -0x60);
        puVar21 = puVar20 + -0x6c;
        puVar20 = puVar20 + -0x6c;
        if (iVar15 != 0) goto LAB_0001b819;
      }
    }
    else {
      *(int *)(puVar20 + -0x7c) = iVar17;
      *(undefined4 *)(puVar20 + -0x80) = 0x1b70d;
      pcVar14 = strerror(*(int *)(puVar20 + -0x7c));
      *(char **)(puVar20 + -0x74) = pcVar14;
      *(int *)(puVar20 + -0x78) = iVar4 + 0x10437;
      *(int *)(puVar20 + -0x7c) = iVar12;
      *(undefined4 *)(puVar20 + -0x80) = 0x1b71e;
      FUN_000215b0();
      puVar21 = puVar20 + -0x6c;
      if (iVar6 != -1) {
        while( true ) {
          *(int *)(puVar22 + -0x10) = iVar6;
          *(undefined4 *)(puVar22 + -0x14) = 0x1b851;
          iVar15 = close(*(int *)(puVar22 + -0x10));
          piVar13 = *(int **)(puVar22 + 0xc);
          puVar20 = puVar22;
          puVar21 = puVar22;
          if (iVar15 == 0) break;
LAB_0001b819:
          puVar21 = puVar20;
          if (*piVar13 != 9) break;
          *(int *)(puVar20 + -4) = iVar4 + 0xf9eb;
          *(undefined4 *)(puVar20 + -8) = 0xc1a;
          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;
          puVar22 = puVar20 + -0x10;
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);
          pcVar2 = *(code **)(iVar4 + 0x199ff);
          *(undefined4 *)(puVar20 + -0x14) = 0x1b841;
          (*pcVar2)();
        }
      }
      if ((iVar17 == 0xc || iVar17 == 0x69) || (iVar17 - 0x17U < 2)) {
        if (*(int *)(iVar12 + 0xe8) != 0) {
          iVar17 = iVar12 + 0xac;
          *(int *)(puVar21 + -0x10) = iVar17;
          *(undefined4 *)(puVar21 + -0x14) = 0x1b75b;
          iVar15 = pthread_mutex_lock(*(pthread_mutex_t **)(puVar21 + -0x10));
          if (iVar15 == 0) {
            *(undefined1 *)(iVar12 + 0xe2) = 1;
            *(int *)(puVar21 + -0x10) = iVar17;
            *(undefined4 *)(puVar21 + -0x14) = 0x1b776;
            iVar15 = pthread_mutex_unlock(*(pthread_mutex_t **)(puVar21 + -0x10));
            puVar20 = puVar21;
            if (iVar15 == 0) {
              *(undefined4 *)(puVar21 + 0xc) = 0;
              *(undefined4 *)(puVar21 + -8) = *(undefined4 *)(iVar12 + 0xe8);
              *(int *)(puVar21 + -0xc) = iVar4 + 0x10513;
              *(int *)(puVar21 + -0x10) = iVar12;
              *(undefined4 *)(puVar21 + -0x14) = 0x1b79b;
              FUN_000215b0();
              uVar23 = *(undefined4 *)(puVar21 + 0xc);
              goto LAB_0001b7c2;
            }
          }
          else {
            *(int *)(puVar21 + -4) = iVar4 + 0xe993;
            *(undefined4 *)(puVar21 + -8) = 0xc2c;
            *(int *)(puVar21 + -0xc) = iVar4 + 0xf9d7;
            puVar20 = puVar21 + -0x10;
            *(undefined4 *)(puVar21 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);
            pcVar2 = *(code **)(iVar4 + 0x199ff);
            *(undefined4 *)(puVar21 + -0x14) = 0x1b886;
            (*pcVar2)();
          }
          *(int *)(puVar20 + -4) = iVar4 + 0xe9b7;
          *(undefined4 *)(puVar20 + -8) = 0xc30;
          *(int *)(puVar20 + -0xc) = iVar4 + 0xf9d7;
          *(undefined4 *)(puVar20 + -0x10) = *(undefined4 *)(iVar4 + 0x199fb);
          pcVar2 = *(code **)(iVar4 + 0x199ff);
          *(undefined4 *)(puVar20 + -0x14) = 0x1b8a5;
          uVar24 = (*pcVar2)();
          iVar15 = (int)uVar24;
          *(int *)(puVar20 + -0x14) = iVar6;
          *(int *)(puVar20 + -0x18) = iVar17;
          *(int *)(puVar20 + -0x1c) = iVar12;
          *(int *)(puVar20 + -0x20) = iVar4 + 0x19773;
          *(undefined4 *)(puVar20 + -0x24) = 0x1b8bb;
          iVar12 = *(int *)(puVar20 + -0x24);
          iVar4 = *(int *)(iVar15 + 0xc4);
          *(int *)(puVar20 + -0x54) = (int)((ulonglong)uVar24 >> 0x20);
          *(undefined4 *)(puVar20 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);
          *(undefined4 *)(puVar20 + -0x40) = 0;
          *(undefined4 *)(puVar20 + -0x3c) = 0;
          *(undefined4 *)(puVar20 + -0x38) = 0;
          *(undefined4 *)(puVar20 + -0x34) = 0;
          if (iVar4 == -1) {
            iVar17 = 1;
            *(undefined4 *)(puVar20 + -0x58) = 0;
            iVar4 = 0;
            iVar6 = -1;
          }
          else if (*(char *)(iVar15 + 0xe1) == '\0') {
            *(int *)(puVar20 + -0x40) = iVar4;
            iVar6 = 0;
            iVar17 = 2;
            *(undefined2 *)(puVar20 + -0x3c) = 1;
            iVar4 = 1;
            *(undefined4 *)(puVar20 + -0x58) = 1;
          }
          else {
            *(undefined4 *)(puVar20 + -0x58) = 0;
            iVar17 = 1;
            iVar6 = -1;
            iVar4 = 0;
          }
          uVar3 = *(uint *)(iVar15 + 0xf8) & 0x2000;
          if (*(int *)(iVar15 + 0xdc) == -1) {
            iVar17 = -1;
            if (uVar3 != 0) {
              *(undefined4 *)(puVar20 + -0x58) = 0xffffffff;
              goto LAB_0001ba92;
            }
LAB_0001ba1c:
            if (iVar4 != 0) {
              *(undefined4 *)(puVar20 + -0x60) = 0x10;
              *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);
              *(int *)(puVar20 + -0x68) = iVar4;
              *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;
              *(undefined4 *)(puVar20 + -0x70) = 0x1ba34;
              iVar4 = __poll_chk();
              if (-1 < iVar4) {
                if (iVar17 != -1) {
                  *(int *)(puVar20 + -0x58) = iVar17;
                  goto LAB_0001b975;
                }
                goto LAB_0001b984;
              }
LAB_0001ba50:
              *(undefined4 *)(puVar20 + -0x60) = 0x1ba55;
              piVar13 = __errno_location();
              if (*piVar13 != 4) {
                *(int *)(puVar20 + -0x6c) = *piVar13;
                *(undefined4 *)(puVar20 + -0x70) = 0x1ba69;
                pcVar14 = strerror(*(int *)(puVar20 + -0x6c));
                *(char **)(puVar20 + -100) = pcVar14;
                *(int *)(puVar20 + -0x68) = iVar12 + 0xf7f7;
                *(int *)(puVar20 + -0x6c) = iVar15;
                *(undefined4 *)(puVar20 + -0x70) = 0x1ba7a;
                FUN_000215b0();
                uVar23 = 0;
                goto LAB_0001b9ad;
              }
            }
          }
          else {
            *(int *)(puVar20 + iVar4 * 8 + -0x40) = *(int *)(iVar15 + 0xdc);
            *(undefined2 *)(puVar20 + iVar4 * 8 + -0x3c) = 1;
            iVar4 = iVar17;
            if (uVar3 != 0) {
LAB_0001ba92:
              *(int *)(puVar20 + -0x50) = iVar4;
              *(undefined4 *)(puVar20 + -0x60) = 0x1ba9d;
              FUN_000190f0();
              iVar4 = *(int *)(puVar20 + -0x50);
              iVar17 = *(int *)(puVar20 + -0x58);
              goto LAB_0001ba1c;
            }
            *(undefined4 *)(puVar20 + -0x60) = 0x10;
            *(int *)(puVar20 + -100) = -*(int *)(puVar20 + -0x54);
            *(int *)(puVar20 + -0x68) = iVar17;
            *(undefined1 **)(puVar20 + -0x6c) = puVar20 + -0x40;
            *(undefined4 *)(puVar20 + -0x70) = 0x1b96a;
            iVar4 = __poll_chk();
            if (iVar4 < 0) goto LAB_0001ba50;
LAB_0001b975:
            if ((puVar20[*(int *)(puVar20 + -0x58) * 8 + -0x3a] & 1) != 0) {
              *(undefined4 *)(puVar20 + -100) = 8;
              *(undefined1 **)(puVar20 + -0x68) = puVar20 + -0x4c;
              *(undefined4 *)(puVar20 + -0x6c) = *(undefined4 *)(iVar15 + 0xdc);
              *(undefined4 *)(puVar20 + -0x70) = 0x1bac5;
              read(*(int *)(puVar20 + -0x6c),*(void **)(puVar20 + -0x68),*(size_t *)(puVar20 + -100)
                  );
            }
LAB_0001b984:
            uVar23 = 0;
            if (*(char *)(iVar15 + 0xe0) != '\0') goto LAB_0001b9ad;
            if ((iVar6 != -1) && ((puVar20[-0x3a] & 1) != 0)) {
              *(undefined4 *)(puVar20 + -0x60) = 0x1b9a4;
              FUN_0001b660();
            }
          }
          uVar23 = 1;
LAB_0001b9ad:
          if (*(int *)(puVar20 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar20 + -0x60) = &UNK_0001bad2;
            FUN_000299b0();
          }
          return uVar23;
        }
        *(int *)(puVar21 + -0xc) = iVar4 + 0x10457;
        *(int *)(puVar21 + -0x10) = iVar12;
        *(undefined4 *)(puVar21 + -0x14) = 0x1b7b8;
        FUN_000215b0();
      }
    }
  }
LAB_0001b7c0:
  uVar23 = 0;
LAB_0001b7c2:
  if (*(int *)(puVar21 + 0x3c) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar21 + -4) = 0x1b867;
    FUN_000299b0();
  }
  return uVar23;
}

